Transmission terminal, transmission system, display control method, and recording medium storing display control program

ABSTRACT

A transmission terminal receives image data from one or more counterpart transmission terminals via a relay device, and displays one or more images based on the received image data on a display. When the transmission terminal receives message data from a management system in alternative to image data to be transmitted from one of the one or more counterpart transmission terminals, the transmission terminal displays a message on the display based on the received message data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is based on and claims priority pursuant to 35 U.S.C. §119 to Japanese Patent Application No. 2012-061819, filed on Mar. 19, 2012, in the Japan Patent Office, the entire disclosure of which is hereby incorporated by reference herein.

BACKGROUND

1. Field of the Invention

The present invention generally relates to a transmission terminal that transmits or receives data to or from one or more transmission terminals, a transmission system including the transmission terminal, a method of controlling display of data through the transmission terminal, and a recording medium storing a display control program.

2. Description of the Related Art

The transmission systems allow transmission of contents data such as image data and/or sound data among a plurality of transmission terminals that are remotely located from one another through a relay device to facilitate communication among the plurality of transmission terminals through a communication network such as the Internet. With the need for reducing costs or times associated with business trips, more companies are moving towards transmission systems provided with the above-described teleconference or videoconference capabilities.

Even in case there is a trouble in communication network or processing capabilities of the transmission terminal, the transmission systems may still transmit image data using the coding technique such as the H.264/Scalable Video Coding (SVC) as described in Japanese Patent Application Publication No. 2010-506461-A. However, there may be some cases in which image data cannot be transmitted even with the above-described coding technique, for example, when the transmission capability of the communication network is greatly lowered. In such case, only sound data may be transmitted from the transmission terminal to the counterpart transmission terminal to at least carry out teleconference, for example, as described in Japanese Patent Application Publication No. 2004-32305-A. As image data is not received at the counterpart transmission terminal, the counterpart transmission terminal does not display an image of the transmission terminal.

SUMMARY

In case of transmitting only the sound data, a user at the counterpart transmission terminal is not able to see an image of the user at the transmission terminal. Without the image of the user at the other site, the user at the counterpart transmission terminal that receives only the sound data is not able to determine whether the user still participates in conference if the sound data is not received, or whether there is any failure in the transmission system. Accordingly, the user may feel uncomfortable in talking to the user at the transmission terminal at the other site, when the user only hears the voice of the user from the other site.

In view of the above, one aspect according to one example embodiment of the present invention is to provide a transmission terminal that receives image data from one or more counterpart transmission terminals via a relay device, and displays one or more images based on the received image data on a display. When the transmission terminal receives message data from a management system in alternative to image data to be transmitted from one of the one or more counterpart transmission terminals, the transmission terminal displays a message on the display based on the received message data.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the disclosure and many of the attendant advantages and features thereof can be readily obtained and understood from the following detailed description with reference to the accompanying drawings, wherein:

FIG. 1 is a schematic block diagram illustrating a configuration of a transmission system, according to an example embodiment of the present invention;

FIG. 2 is an illustration for explaining transmission or reception of data such as image data, sound data, or management data, performed by the transmission system of FIG. 1;

FIGS. 3A to 3C are illustrations for explaining image quality of image data transmitted or received by the transmission system of FIG. 1;

FIG. 4 is a perspective view illustrating the outer appearance of a transmission terminal of the transmission system of FIG. 1;

FIG. 5 is a schematic block diagram illustrating a hardware structure of the transmission terminal of FIG. 1;

FIG. 6 is a schematic block diagram illustrating a hardware structure of any one of the transmission management system, relay device, program providing system, and maintenance system of the transmission system of FIG. 1;

FIG. 7 is a schematic block diagram illustrating a functional structure of the transmission system of FIG. 1;

FIG. 8 is an example data structure of an image data management table, managed by the transmission terminal of FIG. 7;

FIG. 9 is a schematic block diagram illustrating a functional structure of a secondary selection unit of the transmission terminal of FIG. 7;

FIG. 10 is a schematic block diagram illustrating a functional structure of a primary selection unit of the transmission system of FIG. 7;

FIG. 11 is an example data structure of an image state change management table, managed by the relay device of FIG. 7;

FIG. 12 is an example data structure of a relay device management table, managed by the management system of FIG. 7;

FIG. 13 is an example data structure of a terminal authentication management table, managed by the management system of FIG. 7;

FIG. 14 is an example data structure of a terminal management table, managed by the management system of FIG. 7;

FIG. 15 is an example data structure of a candidate list management table, managed by the management system of FIG. 7;

FIG. 16 an example data structure of a session management table, managed by the management system of FIG. 7;

FIG. 17 is an example data structure of an address priority management table, managed by the management system of FIG. 7;

FIG. 18 is an example data structure of a transmission speed priority management table, managed by the management system of FIG. 7;

FIG. 19 is an example data structure of an image state management table, managed by the management system of FIG. 7;

FIG. 20 is data sequence diagram illustrating operation of managing state information indicating an operation state of the relay device, according to an example embodiment of the present invention;

FIG. 21 is a data sequence diagram illustrating operation of establishing communication among two or more terminals of the transmission system of FIG. 1, according to an example embodiment of the present invention;

FIG. 22 is a data sequence diagram illustrating operation of limiting a number of candidate relay devices, performed by the transmission system of FIG. 1 according to an example embodiment of the present invention;

FIG. 23 is a flowchart illustrating operation of limiting a number of candidate relay devices, performed by the management system of FIG. 7, according to an example embodiment of the present invention;

FIG. 24 is a table storing priority points of the relay devices that are respectively calculated by the transmission management system of FIG. 7 during the operation of limiting a number of candidate relay devices;

FIGS. 25A and 25B are a data sequence diagram illustrating operation of selecting a relay device, performed by the transmission system of FIG. 1, according to an example embodiment of the present invention;

FIG. 26 is a flowchart illustrating operation of selecting a relay device, performed by the terminal of FIG. 7, according to an example embodiment of the present invention;

FIG. 27 is a data sequence diagram illustrating operation of transmitting or receiving data such as image data and sound data, performed by two or more terminals of the transmission system of FIG. 1, according to an example embodiment of the present invention;

FIG. 28 is an illustration of an example screen displayed through a display of the transmission terminal, according to an example embodiment of the present invention;

FIG. 29 is a flowchart illustrating operation of changing a screen on the display in which image data is displayed, performed by the transmission terminal of FIG. 7, according to an example embodiment of the present invention;

FIG. 30 is an example data structure of the image data management table, with the contents being changed by the transmission terminal of FIG. 7 through operation of FIG. 29;

FIG. 31 is an illustration of an example screen displayed through the display of the transmission terminal, based on the changed contents of the image data management table of FIG. 30;

FIG. 32 is a data sequence diagram illustrating operation of generating, transmitting, and displaying a message, performed by the transmission system of FIG. 1 according to an example embodiment of the present invention;

FIG. 33 is a flowchart illustrating operation of generating a message, performed by the management system of FIG. 1, according to an example embodiment of the present invention;

FIG. 34 is a flowchart illustrating operation of displaying the message, performed by the transmission terminal of FIG. 1, according to an example embodiment of the present invention;

FIG. 35 is an illustration of an example screen including the message, displayed through the display of the transmission terminal, according to an example embodiment of the present invention;

FIG. 36 is an illustration of an example screen including the message, displayed through the display of the transmission terminal, according to an example embodiment of the present invention; and

FIG. 37 is an illustration of an example screen including the message, displayed through the display of the transmission terminal, according to an example embodiment of the present invention.

The accompanying drawings are intended to depict example embodiments of the present invention and should not be interpreted to limit the scope thereof. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “includes” and/or “including”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

In describing example embodiments shown in the drawings, specific terminology is employed for the sake of clarity. However, the present disclosure is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner.

In the following description, illustrative embodiments will be described with reference to acts and symbolic representations of operations (e.g., in the form of flowcharts) that may be implemented as program modules or functional processes including routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and may be implemented using existing hardware at existing network elements or control nodes. Such existing hardware may include one or more Central Processing Units (CPUs), digital signal processors (DSPs), application-specific-integrated-circuits, field programmable gate arrays (FPGAs) computers or the like. These terms in general may be referred to as processors.

Unless specifically stated otherwise, or as is apparent from the discussion, terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

<Structure of Transmission System>

FIG. 1 is a schematic block diagram illustrating a transmission system, according to an example embodiment of the present invention. FIG. 2 is an illustration for explaining transmission or reception of data such as image data, sound data, or management data, performed by the transmission system of FIG. 1. FIGS. 3A to 3C are illustrations for explaining image quality of image data transmitted or received by the transmission system of FIG. 1.

In the following examples, it is assumed that the transmission system 1 of FIG. 1 is implemented as the videoconference system, which is one example structure of the communication system. Based on this assumption, the transmission management system 50 is implemented as the videoconference communication management system, which is one example structure of the communication management system. Further, the transmission terminal 10 is implemented as the videoconference communication terminal, which is one example structure of the communication terminal. However, the use of transmission system 1 is not limited to the following examples such that the transmission system 1 may be implemented as the transmission system or the communication system.

More specifically, in the following examples, the user uses the transmission terminal 10, such as the videoconference communication terminal, to communicate with the user at the other end to have videoconference.

The transmission system 1 of FIG. 1 includes a plurality of transmission terminals 10 aa, 10 ab, 10 ac, 10 ba, 10 bb, 10 bc, 10 ca, 10 cb, 10 cd, 10 da, 10 db, and 10 dc, and a plurality of displays 120 aa, 120 ab, 120 ac, 120 ba, 120 bb, 120 bc, 120 ca, 120 cb, 120 cc, 120 da, 120 db, and 120 dc, a plurality of relay devices 30 a, 30 b, 30 c, and 30 d, a transmission management system 50, a program providing system 90, and a maintenance system 100.

The transmission terminal 10 transmits or receives contents data such as image data and/or sound data to or from another transmission terminal 10.

For the descriptive purposes, in this example, any number of the plurality of terminals 10 aa to 10 dc may be collectively or each referred to as the terminal 10. Any number of the plurality of displays 120 aa to 120 dc may be collectively or each referred to as the display 120. Any number of the plurality of relay devices 30 a, 30 b, 30 c, and 30 d may be collectively or each referred to as the relay device 30. The transmission management system 50 may be referred to as the “management system” 50. Further, the terminal 10 that transmits data to another terminal 10 to carry out videoconference is referred to as the request terminal 10. The terminal 10 that receives data from another terminal 10 to carry out videoconference is referred to as the counterpart terminal 10. For example, the request terminal 10 includes any terminal 10 that requests another terminal 10 to start videoconference, and the counterpart terminal 10 includes any terminal 10 that is requested by the request terminal 10 to start videoconference.

As illustrated in FIG. 2, in the transmission system 1, the request terminal 10 and the counterpart terminal 10 first establish a management data session “sei” to start transmission and reception of various types of management data through the management system 50. Further, in this example, the request terminal 10 and the counterpart terminal 10 establish four contents data sessions sed to transmit or receive contents data through the relay device 30. The four contents data sessions include a session “HL” to transmit high-level resolution image data HL, a session “ML” to transmit medium-level resolution image data ML, a session “LL” to transmit low-level resolution image data LL, and a session “V” to transmit sound data V such as voice data V. In this example, these four contents data sessions may be referred to as image and/or sound data sessions.

Referring now to FIGS. 3A to 3C, various image data having different resolution levels, which are respectively transmitted by the terminal 10 of the transmission system 1, are explained. Referring to FIG. 3A, the low-level resolution image data, which functions as a base image, has 160 pixels in the horizontal direction and 120 pixels in the vertical direction. Referring to FIG. 3B, the medium-level resolution image data has 320 pixels in the horizontal direction and 240 pixels in the vertical direction. Referring to FIG. 3C, the high-level resolution image data has 640 pixels in the horizontal direction and 480 pixels in the vertical direction. In case of communicating with a narrowband signal line, low-quality image data that is generated based on the low-level resolution image data, which is the base image, is transmitted. In case of communicating with a wideband signal line, medium-quality image data that is generated based on the low-level resolution image data and the medium-level resolution image data is transmitted. In case of communicating with a broadband signal line, high-quality image data that is generated based on the low-level resolution image data, the medium-level resolution image data, and the high-level resolution image data is transmitted. Any one of the above-described types of image data may be transmitted together with sound data such as voice data, as the sound data is relatively small in terms of data size compared with that of image data.

Referring back to FIG. 1, the relay device 30 relays contents data such as image data or sound data between or among the terminals 10. For example, the relay device 30, which may be alternatively referred to as the relay device, may be implemented by a router or any device that provides the function of router. The management system 50 centrally manages various information such as login information of the terminal 10, the operation state (data transmission state or communication state) of the terminal 10, candidate list information, and the operation state (communication state) of the relay device 30. In this example, it is assumed that a moving image is transmitted as the image data. Alternatively, a still image, or both of the still image and the moving image, may be transmitted as the image data.

The plurality of routers 70 a to 70 d, 70 ab, and 70 cd, which may be collectively or each referred to as the router 70, selects a route that is most suitable for transmitting contents data such as image data and sound data.

The program providing system 90 includes a hard disk device (HD) 204 (FIG. 6), which stores a terminal control program that causes the terminal 10 to perform various functions or operations. For example, the program providing system 90 sends the terminal control program to the terminal 10 through the Internet 2 i to cause the terminal 10 to install the terminal control program. Further, the HD 204 of the program providing system 90 may store a relay control program that causes the relay device 30 to perform various functions or operations. For example, the program providing system 90 sends the relay control program to the relay device 30 through the Internet 2 i to cause the relay device 30 to install the relay control program. Further, the HD 204 of the program providing system 90 may store a transmission management program that causes the management system 50 to perform various functions or operations. For example, the program providing system 90 sends the transmission management program to the management system 50 to cause the management system 50 to install the transmission management program.

The maintenance system 100 is implemented as a computer capable of maintaining, managing, fixing, or upgrading at least one of the terminal 10, relay device 30, management system 50, and program providing system 90. Assuming that the maintenance system 100 is provided within a country, and the terminal 10, relay device 30, management system 50, and program providing system 90 are each installed outside the country, the maintenance system 100 maintains, manages, fixes, or upgrades at least one of the terminal 10, relay device 30, management system 30, and program providing system 90, remotely through the communication network 2. The maintenance system 100 may manage maintenance of at least one of the terminal 10, relay device 30, management system 50, and program providing system 90 without using the communication network 2. For example, a machine type number, a manufacturing number, customer information, maintenance and repair information, and failure log information may be maintained at the maintenance system 100 without using the communication network 2.

Still referring to FIG. 1, the terminals 10 aa, 10 ab, and 10 ac, the relay device 30 a, and the router 70 a are connected to a local area network (LAN) 2 a. The terminals 10 ba, 10 bb, and 10 bc, the relay device 30 b, and the router 70 b are connected to a LAN 2 b. The LAN 2 a and the LAN 2 b are connected to a leased line 2 ab in which the router 70 ab is provided. It is assumed that these devices including the terminals 10 aa to 10 bc are located in an area A. For example, assuming that the area is any area in Japan, the LAN 2 a could be located within an office in a city such as Tokyo, and the LAN 2 b could be located within an office in another city such as Osaka.

The terminals 10 ca, 10 cb, and 10 cc, the relay device 30 c, and the router 70 c are connected to a LAN 2 c. The terminals 10 da, 10 db, and 10 dc, the relay device 30 d, and the router 70 d are connected to a LAN 2 d. The LAN 2 c and the LAN 2 d are connected to a leased line 2 cd in which the router 70 cd is provided. It is assumed that these devices including the terminals 10 ca to 10 dc are located in an area B apart from the area A. For example, assuming that the area is any area in the United States, the LAN 2 c could be located within an office in a city such as New York, and the LAN 2 d could be located within an office in another city such as Washington, D.C. The area A and the area B are connected through the Internet 2 i, via the routers 70 ab and 70 cd.

The management system 50 and the program providing system 90 are connected through the Internet 2 i to the terminal 10 and the relay device 30. Any one of the management system 50 and the program providing system 90 may be located at any location within or outside any one of the area A and the area B.

In this example, the communication network 2 includes the LAN 2 a, LAN 2 b, leased line 2 ab, Internet 2 i, leased line 2 cd, LAN 2 c, and LAN 2 d. Any one or any portion of these lines or any other lines that may be included in the communication network 2 may be implemented as wired network or wireless network such as Wireless Fidelity (WiFi) network or Bluetooth (Registered Trademark) network.

As shown in FIG. 1, the terminal 10, the relay device 30, the management system 50, the router 70, and the program providing system 90 are each provided with four digit numbers. These four digit numbers separated by dots are the simple expressions of IP addresses respectively assigned to any one of the devices shown in FIG. 1, each of which has a function of communication device. For example, the IP address of the terminal 10 aa is “1.2.1.3”. For simplicity, it is assumed that the IP address is expressed in IPv4. Alternatively, the IP address may be expressed in IPv6.

Further, in this example, the terminal 10 may be communicated in various ways. For example, at least two different terminals 10 that are located at different rooms in the same office, or at least two different terminals 10 that are located at different offices that are remotely located from one another, may communicate with one another. In another example, at least two different terminals 10 that are located in the same room may communicate with one another. In another example, one terminal 10 that is located indoor and another terminal 10 that is located outdoor, or at least two different terminals 10 that are both located outdoor, may communicate with one another. When the terminal 10 is located outdoor, the terminal 10 communicates with the other terminal 10 through a wireless network such as a wireless network designed for a mobile phone.

<Hardware Structure of Transmission System>

FIG. 4 is a perspective view illustrating the outer appearance of the transmission terminal 10 of the transmission system of FIG. 1. In FIG. 4, the longitudinal direction of the terminal 10 is referred to as x direction. The direction orthogonal to the x direction, which is the horizontal direction of the terminal 10, is referred to as the y direction. The direction orthogonal to the x direction and the y direction is referred to as the z direction.

As illustrated in FIG. 4, the terminal 10 includes a body 1100, an arm 1200, and a camera housing 1300. The body 1100 includes a back side wall 1110 having a plurality of air intake holes that are formed over the nearly entire surface of the intake surface of the back side wall 1110. The body 1100 further includes a front side wall 1120 provided with an exhaust surface 1121 having a plurality of exhaust holes over the nearly entire surface of the exhaust surface 1121. When a cooling fan that is provided within the body 1100 is driven, air flows in through the intake holes of the intake surface and out through the exhaust holes of the exhaust surface 1121. The body 1100 further includes a right side wall 1130 formed with a sound pickup hole 1131. Through the sound pickup hole 1131, a microphone 114 (FIG. 5) of the terminal 10 is able to catch sounds such as human voice or any sound including noise.

The body 1100 has an operation panel 1150, which is provided at a front surface toward the right side wall 1130. The operation panel 1150 includes a plurality of operation buttons 108 a to 108 e (“the operation button 108”), a power switch 109, an alarm lamp 119, and a plurality of sound output holes 1151. Through the sound output holes 1151, a speaker 115 (FIG. 5) of the terminal 10 is able to output sounds such as sounds generated based on human voice. The body 1100 further includes a holder 1160, which is provided at the front surface toward the left side wall 1140. The holder 1160, which has a concave shape, accommodates therein the arm 1200 and the camera housing 1300. The right side wall 1130 is further provided with a plurality of connection ports 1132 a to 1132 c (“connection ports 1132”). The connection ports 1132 allow electrical connection to an external device through an outside device connection I/F 118 (FIG. 5). The body 1100 further includes a left side wall 1140, which is provided with a connection port to connect the external display 120 to the display I/F 117 through a cable 120 c.

The arm 1200 is fixed to the body 1100 via a torque hinge 1210. With the torque hinge 1210, the arm 1200 can be rotated in directions of up and down with respect to the body, while making a tilt angle θ1 of up to 135 degrees. FIG. 4 illustrates the case where the tilt angle θ1 is 90 degrees.

The camera housing 1300 incorporates therein the camera 112 (FIG. 5) that takes an image of an object. The object may be a part of a user, document, or a room where the terminal 10 is located. The camera housing 1300 is provided with a torque hinge 1310. The camera housing 1300 is fixed to the arm 1200 through the torque hinge 1310. With the torque hinge 1310, the camera housing 1300 can be rotated with respect to the arm 1200, in the direction of up, down, right, and left, such that the camera housing 1300 is kept at a desired position. More specifically, the camera housing 1300 can be rotated, while making a pan angle θ2 from about −180 degrees to 180 degrees in the direction right and left, and a tilt angle θ3 that ranges from about −45 degrees to +45 degrees in the direction of up and down. In FIG. 4, the pan angle θ2 and the tilt angle θ3 are each 0 degree.

The relay device 30, the management system 50, the program providing system 90, and the maintenance system 100 are each implemented by a general-purpose computer such as a personal computer or a server computer. For simplicity, explanation of the outer appearance of the computer is omitted.

FIG. 5 is a schematic block diagram illustrating a hardware structure of the transmission terminal 10. As illustrated in FIG. 5, the terminal 10 includes a central processing unit (CPU) 101, a read only memory (ROM) 102, a random access memory (RAM) 103, a flash memory 104, a solid state drive (SSD) 105, a medium drive 107, the operation button 108, the power switch 109, a network interface (IX) 111, the camera 112, an imaging element interface (I/F) 113, the microphone 114, the speaker 115, a sound input/output interface (I/O I/F) 116, the display interface (I/F) 117, the outside device connection interface (I/F) 118, and an alarm lamp 119, which are electrically connected through a bus 110 such as an address bus or data bus. The CPU 101 controls entire operation of the terminal 10. The ROM 102 stores therein a control program for execution by the CPU 101, such as an initial program loader (IPL). The RAM 103 functions as a work area of the CPU 101. The flash memory 104 stores therein various data such as the terminal control program, image data, or sound data such as voice data. The SSD 105 controls reading or writing of various data with respect to the flash memory 104 under control of the CPU 101. The medium drive 107 controls reading or writing of various data with respect to a removable recording medium 106 such as a flash memory. The operation button 108 allows the user to input a user instruction, for example, by allowing the user to select a communication destination such as the counterpart terminal 10B. The power switch 109 allows the user to switch on or off the power of the terminal 10. The network I/F 111 allows the terminal 10 to transmit data through the communication network 2.

The camera 112 takes an image of an object to obtain image data under control of the CPU 101. The imaging element I/F 113 controls operation of the camera 112. The microphone 114 catches sounds such as voice of the user at the terminal 10. The speaker 115 outputs sounds such as sounds generated based on voice of the user at the counterpart terminal 10B. The sound I/O I/F 116 controls input or output of sound signals such as voice signals with respect to the microphone 114 and the speaker 115 under control of the CPU 101. The display I/F 117 transmits image data to the display 120 under control of the CPU 101. The outside device connection I/F 118 controls connection of the terminal 10 to various types of outside device. The alarm lamp 119 generates notification when an error is detected in the terminal 10.

The display 120 may be implemented by a liquid crystal display (LCD) or an organic light emitting display, which displays various data such as an image of an object or an operation icon. As illustrated in FIGS. 4 and 5, the display 120 is connected to the display I/F 117 through the cable 120 c. The cable 120 c may be implemented by an analog RCB (VGA) signal cable, a component video cable, a high-definition multimedia interface (HDMI) signal cable, or a digital video interactive (DVI) signal cable.

The camera 112 includes a plurality of devices such as a lens system, and a solid-state image sensing device that photo-electrically converts a light to generate an image of an object. For example, the solid-state image sensing device includes a complementary metal oxide semiconductor (CMOS) or a charge coupled device (CCD).

The outside device connection I/F 118 may be connected to an outside device such as an external camera, external microphone, or external speaker through a universal serial bus (USB) cable that is connected through the port 1132 of the body 1100 (FIG. 4). When the external camera is connected to the terminal 10, the CPU 101 causes the terminal 10 to capture an image using the external camera, rather than the camera 112 that is incorporated in the terminal 10. When the external microphone or the external speaker is connected to the terminal 10, the CPU 101 causes the terminal 10 to use the external microphone or the external speaker in replace of the incorporated microphone 114 or the incorporated speaker 115.

The recording medium 106, which can be freely attached to or detached from the terminal 10, includes any desired type of recording medium. In alternative to the flash memory 104, any nonvolatile memory that is readable and writable under control of the CUP 101 may be used such as Electrically Erasable and Programmable ROM (EEPROM).

In this example, the terminal 10 is provided with the camera 112, the microphone 114, and the speaker 115. Alternatively, the terminal 10 may not be provided with any one of the camera 112, the microphone 114, and the speaker 115. For example, the outside device connection I/F 118 may connect with the outside device that functions any one of the camera 112, the microphone 114, and the speaker 115, to provide the functions of the camera 112, the microphone 114, and the speaker 115.

The terminal control program may be written onto a recording medium that is readable by a general-purpose computer such as the recording medium 106 in any format that is installable or executable by a general-purpose computer. Once the terminal control program is written onto the recording medium, the recording medium may be distributed. Further, the terminal control program may be stored in any desired memory other than the flash memory 104, such as the ROM 102.

FIG. 6 illustrates a hardware structure of the management system 50 of FIG. 1. The management system 50 includes a CPU 201, a ROM 202, a RAM 203, the HD 204, a hard disk drive (HDD) 205, a medium drive 207, a display 208, a network interface (I/F) 209, a keyboard 211, a mouse 212, and a CD-ROM drive 214, which are electrically connected through a bus 210 such as an address bus or a data bus.

The CPU 201 controls entire operation of the management system 50. The ROM 202 stores a control program for execution by the CPU 201, such as an IPL. The RAM 203 functions as a work area of the CPU 201. The RD 204 stores therein various data such as the transmission management program. The HDD 205 controls reading or writing of various data with respect to the HD 204 under control of the CPU 201. The medium drive 207 controls reading or writing of various data with respect to a removable recording medium 206 such as a flash memory. The display 208 displays various data such as a cursor, menu, window, character, or image. The network I/F 209 allows the management system 50 to transmit data through the communication network 2. The keyboard 211 includes a plurality of keys, each of which is used for inputting a user instruction through a character, a numeral, or a symbol. The mouse 212 allows the user to input a user instruction including, for example, selection or execution of a specific instruction, selection of an area to be processed, and instruction of cursor movement. The CD-ROM drive 214 controls reading or writing of various data with respect to a CD-ROM 213. In alternative to the CD-ROM 213, any removable recording medium may be used.

The transmission management program may be written onto a recording medium that is readable by a general-purpose computer such as the recording medium 206 or the CD-ROM 213 in any format that is installable or executable by a general-purpose computer. Once the transmission management program is written onto the recording medium, the recording medium may be distributed. Further, the transmission management program may be stored in any desired memory other than the HD 204, such as the ROM 202.

The relay device 30 is substantially similar in hardware structure to the management system 50 of FIG. 6, except for replacement of the management program with a relay device control program that is used for controlling the relay device 30. The relay device control program may be written onto a recording medium that is readable by a general-purpose computer such as the recording medium 206 or the CD-ROM 213 in any format that is installable or executable by the general-purpose computer. Once the relay device control program is written onto the recording medium, the recording medium may be distributed. Further, the relay device control program may be stored in any desired memory other than the HD 204, such as the ROM 202.

The program providing system 90 is substantially similar in hardware structure to the management system 50 of FIG. 6, except for replacement of the management program with a program providing program that is used for controlling the program providing system 90. The program providing program may be written onto a recording medium that is readable by a general-purpose computer such as the recording medium 206 or the CD-ROM 213 in any format that is installable or executable by the general-purpose computer. Once the program providing program is written onto the recording medium, the recording medium may be distributed. Further, the program providing program may be stored in any desired memory other than the HD 204, such as the ROM 202.

Other examples of removable recording medium, which may be used in replace of the CD-ROM 213, include, but not limited to, compact disc recordable (CD-R), digital versatile disk (DVD), and blue ray disc.

Next, a functional structure of the transmission system of FIG. 1 is explained according to an example embodiment of the present invention. FIG. 7 is a schematic block diagram illustrating functional structures of the transmission system 1. As illustrated in FIG. 7, the terminal 10, the relay device 30, and the management system 50 exchange data with one another through the communication network 2. In FIG. 7, the program providing system 90 and the maintenance system 100 of FIG. 1 are omitted.

<Functional Structure of Terminal>

The terminal 10 includes a data transmit/receive 11, an operation input 12, a login request 13, an imaging unit 14, a sound input 15 a, a sound output 15 b, a secondary relay device selection unit 16, a display control 17, a delay detector 18, a memory control 19, an extractor 20, a sound analyzer 21, and a changer 22. These units shown in FIG. 7 correspond to a plurality of functions or functional modules, which are executed according to an instruction of the CPU 101 (FIG. 5) that is generated according to the terminal control program being loaded from the flash memory 104 onto the RAM 103. The terminal 10 further includes a memory 1000 that may be implemented by the flash memory 104 and the RAM 103 of FIG. 5.

(Image Data Management Table)

The memory 1000 stores an image data management database (DB) 1001, which is implemented by an image data management table of FIG. 8. The image data management table of FIG. 8 is used to manage an image screen number for identifying each one of a plurality of image screens that can be displayed on the display 120, in association with a terminal ID for identifying the terminal 10 that sends image data being displayed on the display 120 as a screen image in the specific image screen. The image screen number, which may be referred to as the screen number, is one example of display section identification information for identifying a specific display section that can be displayed on the display 120. The terminal ID of the terminal 10 is one example of terminal identification information of the terminal 10. The image data management table of FIG. 8 indicates that the screen numbers “1” to “8” will be respectively assigned to the image screens that can be displayed on the display 120.

The image data management table of FIG. 8 is used to further manage a virtual screen number for identifying each one of one or more virtual image screens, in association with a terminal ID for identifying the terminal 10 that sends image data being assigned to the specific virtual image screen. The image data that is transmitted from the terminal 10 having the terminal ID, which is associated with the virtual image screen number, is not displayed on the display 120. For example, when there are more than eight images to be displayed on the display 120, the screen number of the virtual image screen is assigned to any image data transmitted from the terminal 10, for example, after respectively assigning the image screens with the terminal IDs of the terminals 10. The image data management table of FIG. 8 indicates that the screen numbers “R1” to “R3” will be respectively assigned to the virtual image screens that are not displayed on the display 120. Alternatively, the number of virtual screen images may be increased or decreased, depending on the number of terminals 10 that are participating in videoconference. The virtual screen number is one example of virtual section identification information for identifying a specific virtual section that is not displayed on the display 120. For simplicity, the display section identification information and the virtual section identification information may be collectively referred to as section identification information.

Referring now to FIGS. 5 and 7, a functional structure of the terminal 10 is explained according to an example embodiment of the present invention. More specifically, in this example, the operations or functions that are performed by the terminal 10, which include the operations or functions performed by the units shown in FIG. 7, are performed in relation to one or more hardware devices of the terminal 10 that are shown in FIG. 5.

The data transmit/receive 11, which may be implemented by the network I/F 111 (FIG. 5) under control of the CPU 101, transmits or receives various data or information to or from another terminal, device, or system, through the communication network 2. In this example, the data transmit/receive 11 starts receiving the operation state information that indicates the operation state of each candidate counterpart terminal 10 from the management system 50, before starting communication with any counterpart terminal 10B. The operation state of the candidate terminal 10 indicates whether the candidate terminal 10 is online or offline. When the terminal 10 is online, the operation state of the candidate terminal 10 further indicates whether the candidate terminal 10 is available for communication (“communication OK”), the candidate terminal 10 is having communication with the other terminal (“communicating”), the candidate terminal 10 is online but transmission of image data is interrupted (“online, interrupt”), the candidate terminal 10 is on line but in mute state (“online, mute”), or the candidate terminal 10 is online but in trouble or error (“online, communicating, trouble”). For example, when the cable 120 c is disconnected from the terminal 10, the operation state of the candidate terminal 10 is assumed to be in the trouble state.

The operation input 12 receives a user instruction input by the user through the operation button 108 or the power switch 109 (FIG. 5), under control of the instructions received from the CPU 101. For example, when the user selects “ON” using the power switch 109, the operation input 12 receives a user instruction for turning the power on, and causes the terminal 10 to turn on the power.

The operations or functions of the login request 13 are performed according to an instruction received from the CPU 101 (FIG. 5). When the power of the terminal 10 is turned on, the login request 13 automatically causes the data transmit/receive 11 to send login request information that requests the login process, and a current IP address of the terminal 10, to the management system 50 through the communication network 2. When the power of the terminal 10 is turned off according to a user instruction received from the user through the power switch 109, the login request 13 causes the data transmit/receive 11 to send current operation state information of the terminal 10 to the management system 50, which indicates that the power of the terminal 10 is turned off. After the operation state information is sent, the operation input 12 turns off the power of the terminal 10. As the operation state information of the terminal 10 is sent every time the power is turned off, the management system 50 is able to know that the terminal 10 is off-line in realtime.

The operations or functions of the imaging unit 14 of the terminal 10 are performed by the camera 112 and the imaging element I/F 113 according to an instruction received from the CPU 101 (FIG. 5). The imaging unit 14 takes an image of an object to output image data of the object.

The operations or functions of the sound input 15 a of the terminal 10 are performed by the sound I/O I/F 116 according to an instruction received from the CPU 101, in cooperation with the microphone 114. After the microphone 114 converts voice of the user at the terminal 10 to a voice signal, the sound input 15 a inputs the sound signal in the form of sound data for further processing. The operations or functions of the sound output 15 b of the terminal 10 are performed by the sound I/O I/F 116 according to an instruction received from the CPU 101, in cooperation with the speaker 115. The sound output 15 b outputs a sound signal of sound data that is received from the counterpart terminal 10 through the speaker 115.

The secondary relay device selection unit 16 selects one of the relay devices 30 that is suitable for communication to start videoconference. More specifically, according to an instruction received from the CPU 101 (FIG. 5), the secondary relay device selection unit 16 performs selection of the relay device 30 using a counter 16 a, a calculator 16 b, and a secondary selector 16 c, as illustrated in FIG. 9.

The counter 16 a obtains date and time information indicating the date and time at which the data transmit/receive 11 of the terminal 10 receives preparatory transmit information when the preparatory transmit information is transmitted from another terminal 10. The calculator 16 b calculates a time period T between the time when the preparatory information is transmitted by another terminal 10 and the time when the preparatory information is received at the terminal 10, based on the difference between the time and date information obtained by the counter 16 a and time and date information included in the preparatory transmit information. The secondary selector 16 b selects one of the relay devices 30 having the minimum value of the time period t calculated by the calculator 16 b.

The operations or functions of the display control 17 of the terminal 10 of FIG. 7 are performed by the display I/F 117 according to an instruction received from the CPU 101.

The display control 17 controls transmit of image data, which is generated based on image data of different resolutions, to the display 120. The display control 17 further causes the display 120 that is provided for the request terminal 10 to display a candidate list before the request terminal 10 starts videoconference with a desired counterpart terminal 10. The display control 17 further causes the display 120 to display a message, based on message data received from the management system 50, to the user.

The display control 17 further causes the display 120 to display images based on image data transmitted from a plurality of counterpart terminals 10, on the respective screens through the display 120. Assuming that the display control 17 receives image data or message data, the display control 17 refers to the image data management table of FIG. 8 to extract the screen number associated with the terminal ID of the terminal 10 that sends the image data or the message data, and displays an image or a message on the screen of the display 120 identified by the extracted screen number based on the received image data or message data. The terminal ID of the terminal 10 may be transmitted from the terminal 10 together with the image data or the message data for display. In case the extracted screen number is any one of the numbers “R1” to “R3” corresponding to the virtual image screens that are not displayed on the display 120, the display control 17 may display a message based on the message data on a section other than the image screens of the display 120, for example, in a message display area P10 of FIG. 28.

The delay detector 18 receives information indicating a delay time ms indicating a time period in which contents data such as image data or sound data sent through the relay device 30 from another terminal 10 is delayed, according to an instruction received from the CPU 101 (FIG. 5). More specifically, the delay detector 18 calculates the delay time ms, by subtracting a frame rate of image data that is currently received, from the predetermined frame rate of 30 fps (frames per second).

The memory control 19 is implemented by the SSD 105 of FIG. 5 according to an instruction received from the CPU 101. The memory control 19 stores various data in the memory 1000, or reads out various data from the memory 1000. The memory 1000 stores therein various data such as terminal identification (ID) information for identifying the terminal 10, and a password for authenticating a user at the terminal 10. The memory 1000 further stores therein image data and/or sound data received as the terminal 10 communicates with a counterpart terminal 10 such that the image data and/or sound data are overwritten. Before the image data is overwritten, an image generated based on the image data is displayed onto the display 120. Before the sound data is output, sounds generated based on the sound data is output through the speaker 150.

The extractor 20 may be implemented by instructions of the CPU 101 of FIG. 5. In one example, when the data transmit/receive 11 receives the terminal ID of the terminal 10 that sends message data, preferably together with the message data, the extractor 20 searches the image data management table of FIG. 8 using the terminal ID of the terminal 10 as a search key to extract the screen number that corresponds to the terminal ID.

The sound analyzer 21, which may be implemented by the instructions of the CPU 101 (FIG. 5), detects whether the received sound data has a specific range of sound signal levels. The detection result may be used to determine whether the sound data includes meaningful data such as human voices or any sounds other than noise. The detection of specific range of sound signal levels may be performed using any desired known technique such as the sound detection method described in Yasuhisa Niimi, Speech Recognition, Information Science Lecture E-19-3, Kyoritsu Publishing, Co., 1979, pp. 68-72, which is hereby incorporated herein by reference.

The changer 22 may be implemented by the instructions of the CPU 101 (FIG. 5). When it is determined that the sound data has the specific range of sound signal levels, the changer 22 obtains the terminal ID of the terminal 10 that is transmitted with the sound data, and updates the image data management table of FIG. 8 so as to associate the screen number with the obtained terminal ID of the terminal 10. The screen number may be associated based on information previously defined by a maker or a seller of the terminal 10. The display control 17 refers to the updated contents of the image data management table of FIG. 8 to display images that are respectively transmitted from the other terminals 10 on the respective image screens of the display 120.

In this example, any one of the terminal ID of the terminal 10 and the relay device ID of the relay device 30 includes any type of identification information that can be expressed by any language, character, symbol, mark, or any combination of language, character, symbol, and mark.

<Functional Structure of Relay Device>

Now, a functional structure of the relay device 30 is explained. The relay device 30 includes a data transmit/receive 31, a state detector 32, an image state checker 33, a data quality manager 34, an image state changer 35, and a memory control 39. These units shown in FIG. 7 correspond to a plurality of functions or functional modules, which are executed according to an instruction of the CPU 201 (FIG. 6) that is generated according to the relay device control program being loaded from the HD 204 onto the RAM 203. The relay device 30 further includes a memory 3000 that may be implemented by the RAM 203 and/or the HD 204 (FIG. 6).

(Image State Change Management Table)

The memory 3000 includes an image state change management database (DB) 3001, which stores an image state change management table illustrated in FIG. 11. The image state change management table of FIG. 11 stores an Internet protocol (IP) address of the counterpart terminal 10B to which image data is transmitted through the relay device 30, in association with image state information. The image state information indicates quality of image data to be transmitted through the relay device 30 to the counterpart terminal 10B, or whether to interrupt transmission of the image data to the counterpart terminal 10B.

<Functional Structure of Relay Device>

Next, a functional structure of the relay device 30 is explained according to an example embodiment of the present invention. More specifically, in this example, the operations or functions that are performed by the relay device 30, which include the operations or functions performed by the units shown in FIG. 7, are performed in relation to one or more hardware devices of the relay device 30 that are shown in FIG. 6.

The data transmit/receive 31, which may be implemented by the network I/F 209 (FIG. 6), transmits or receives various data or information to or from another terminal, device, or system, through the communication network 2, under control of instructions received from the CPU 201.

The state detector 32, which is implemented by the CPU 201 of FIG. 6, detects an operation state of the relay device 30. For example, the operation state includes the on-line state (“online”), the off-line state (“offline”), the communicating state (“communicating”), and the interrupted state (“interrupted”). The on-line state is a state in which the relay device 30 is turned on and available for data transmission/reception. The off-line state is a state in which the relay device 30 is not available for data transmission/reception, for example, as the power is not turned on.

The image state checker 33, which is implemented by the CPU 201 of FIG. 6, searches the image state change management DB 3001 (FIG. 11) using the IP address of the counterpart terminal 10 as a search key to extract the image state information regarding the quality of image data suitable to communication with the counterpart terminal 10 or information whether transmission of the image data should be interrupted.

The data quality manager 34, which may be implemented by the CPU 201 of FIG. 6, changes the contents of the image state change management DB 3001 based on the image state information that is received from the management system 50, such as image quality information indicating the desired quality of image data. For example, assuming that the request terminal 10 aa having the terminal ID “01aa” communicates with the counterpart terminal 10 db having the terminal ID “01db” to transmit or receive high quality image data during videoconference, transmission of image data may delay for various reasons. For example, if a request terminal 10 bb and a counterpart terminal 10 ca start videoconference over the communication network 2, transmission of image data from the request terminal 10 aa to the counterpart terminal 10 db tends to slow down due to the increase in traffic. In such case, the relay device 30 changes the quality of image data to be transmitted from high image quality to lower image quality. More specifically, the contents in the image state change management DB 3001 is changed from high-level image quality to medium-level image quality, based on the image state information indicating the use of medium-level image quality.

The image state changer 35, which may be implemented by the CPU 201 of FIG. 6, changes the quality of image data received from the request terminal 10 to the quality of image data according to the contents of the image state change management DB 3001, such as the quality information of the image data. Alternatively, the image state changer 35 may interrupt transmission of the image data received from the request terminal 10, according to the contents of the image state change management DB 3001, such as information indicating interruption of image data.

The memory control 39 is implemented by the HDD 205 of FIG. 6 according to an instruction received from the CPU 201. The memory control 39 stores various data in the memory 3000, or reads out various data from the memory 3000.

<Functional Structure of Management System>

The management system 50 includes a data transmit/receive 51, a terminal authenticator 52, a state manager 53, a terminal extractor 54, a terminal state obtainer 55, a primary relay device selection unit 56, a session manager 57, an image state determiner 58, a memory control 59, a delay time manager 60, and a message generator 61. These units shown in FIG. 7 correspond to a plurality of functions or functional modules, which are executed according to an instruction of the CPU 201 (FIG. 6) that is generated according to the transmission management program being loaded from the HD 204 onto the RAM 203. The management system 50 further includes a memory 5000, which may be implemented by the HD 204 (FIG. 6).

(Relay Terminal Management Table)

The memory 5000 includes a relay device management database (DB) 5001, which stores therein a relay device management table of FIG. 12. The relay device management table of FIG. 12 stores, for each relay device ID of the terminal 10, the operation state of the relay device 30, the received date and time at which the management system 50 receives the operation state information indicating the operation state of the relay device 30 from the relay device 30, the IP address of the relay device 30, and the maximum data transmission speed of the relay device 30 in Mbps. For example, for the relay device 30 a having the relay device ID “111a”, the relay device management table indicates that the operation state is “ON LINE”, the received date and time at which the management system 50 receives the operation state information is “13:00 PM of Nov. 10, 2009”, the IP address of the relay device 30 a is “1.2.1.2”, and the maximum data transmission speed of the relay device 30 a is 100 Mbps.

(Terminal Authentication Management Table)

The memory 5000 further includes a terminal authentication management database (DB) 5002, which stores a terminal authentication management table of FIG. 12. The terminal authentication management table of FIG. 12 stores a plurality of terminal IDs respectively assigned to the terminals 10 that are managed by the management system 50, in association with a plurality of passwords that are previously determined for the respective terminals 10. For example, referring to the terminal authentication management table of FIG. 12, the terminal 10 aa having the terminal ID “01aa” is assigned with the password “aaaa”.

(Terminal Management Table)

The memory 5000 further includes a terminal management database (DB) 5003, which stores a terminal management table of FIG. 14. The terminal management table of FIG. 14 stores, for each one of the terminal IDs assigned to the terminals 10, the terminal name to be used for communication with the terminal 10, the operation state of the terminal 10, the received date and time at which the management system 50 receives the login request information from the terminal 10, and the IP address of the terminal 10. For example, for the terminal 10 aa having the terminal ID “01aa”, the terminal management table of FIG. 14 indicates that the terminal name is “Japan Tokyo Office AA terminal”, the operation state is online (“ONLINE”) and is available for communication (“COMMUNICATION OK”), the received date and time is “13:40 PM, Nov. 10, 2009”, and the IP address of the terminal 10 aa is “1.2.1.3”.

(Candidate List Management Table)

The memory 5000 further includes a candidate list management database (DB) 5004, which stores a candidate list management table of FIG. 15. The candidate list management table of FIG. 15 stores, for each one of a plurality of request terminals 10A capable of requesting for videoconference communication, the terminal ID of the request terminal 10A, and one or more terminal IDs that are respectively assigned to candidate terminals 10 that are previously registered for the request terminal 10A. In this example, for the request terminal 10A, one or more terminals 10 of the communication system 1 of FIG. 1 are previously registered as the candidate terminal 10. For example, the candidate list management table of FIG. 15 indicates that the request terminal 10 aa having the terminal ID “01aa” is most likely to request for videoconference with respect to the terminal 10 ab having the terminal ID “01ab”, the terminal 10 ba having the terminal ID “01ba”, and the terminal 10 bb having the terminal ID “01bb”, etc. The management system 50 manages the candidate list management table of FIG. 15, for example, according to a user instruction received from any one of the terminals 10. For example, in response to a user instruction received from the terminal 10 aa, the management system 50 may add or delete the contents of the candidate list management table of FIG. 15.

(Session Management Table)

The memory 5000 further includes a session management database (DB) 5005, which stores a session management table of FIG. 16. The session management table of FIG. 16 stores information regarding each of the sessions that are carried out by at least two terminals 10 of the transmission system 1 for the purpose of selecting the relay device 30 that is most suitable for communication between at least two terminals 10. More specifically, for each session ID that uniquely identifies each session, the session management table of FIG. 16 stores a relay device ID of the relay device 30 to be used for transmitting or receiving contents data such as image data and sound data a terminal ID of the request terminal 10A, a terminal ID of the counterpart terminal 10B, a delay time ms indicating a time period required for receiving contents data at the counterpart terminal 10B, the date and time information indicating the time at which the management system 50 receives delay information from the counterpart terminal 10B.

For example, referring to the session management table of FIG. 16, for the session having the session ID “se1”, the relay device 30 a having the relay device ID “111a” is selected to relay contents data between the request terminal 10 aa having the terminal ID “01aa” and the counterpart terminal 10 db having the terminal ID “01db”. Further, the management system 50 receives the delay information from the counterpart terminal 10 db at 14:00 PM, Nov. 10, 2009. Based on the delay information, the delay time ms of 200 milliseconds (ms) is obtained. In case of having videoconference between only two terminals 10, the time at which the delay time is received may be determined based on the time when the management system 50 receives the delay information transmitted from the request terminal 10A rather than based on the time when the management system 50 receives the delay information transmitted from the counterpart terminal 10B. In case of having videoconference with more than two terminals 20, the delay information transmitted from the counterpart terminal 10 that receives the contents data is used to manage the date and time at which the delay information is received.

(Address Priority Management Table)

The memory 5000 further includes a priority management database (DB) 5006, which stores an address priority management table of FIG. 17. The address priority management table of FIG. 17 defines a number of address priority points to be assigned to an arbitrary set of terminal 10 and relay device 30 based on the degree of similarity between the IP address of the terminal 10 and the IP address of the relay device 30. Assuming that the IP address of the terminal 10 and the IP address of the relay device 30 are each expressed in the form of four digital numbers as described above referring to FIG. 1, as the degree of similarity between the terminal IP address and the relay device IP address increases, a larger number of address priority points is assigned. In FIG. 17, the “S” indicates that one digit of the IP address, which may be referred to as the dot address, is the same for both of the terminal 10 and the relay device 30. The “D” indicates that one digit of the IP address, or the dot address, is different between the terminal 10 and the relay device 30.

More specifically, in this example, when the first to third digits or dot addresses are the same between the terminal 10 and the relay device 30, the address priority point is 5. When the first and second digits or dot addresses are the same between the terminal 10 and the relay device 30, the address priority point is 3. In such case, the fourth digit or dot address does not affect the address priority point. When the first digit or dot address is the same between the terminal 10 and the relay device 30, the address priority point is 1. In such case, the third and fourth digits or dot addresses do not affect the address priority point. When the first digit or dot address is different between the terminal 10 and the relay device 30, the address priority point is 0. In such case, the second to fourth digits or dot addresses do not affect the address priority point.

(Transmission Speed Priority Management Table)

The priority management DB 5006 of the memory 5000 further includes a transmission speed priority management table of FIG. 18. The transmission speed priority management table of FIG. 18 stores a range of the maximum data transmission speeds in association with a transmission speed priority point. More specifically, the transmission speed priority management table of FIG. 18 indicates that the transmission speed priority point increases with the increase in value of the maximum data transmission speeds at the relay device 30. For example, referring to FIG. 18, when the maximum data transmission speed at the relay device 30 is equal to or greater than 1000 Mbps, the transmission speed priority point of 5 is assigned. For example, when the maximum data transmission speed at the relay device 30 is equal to or greater than 100 Mbps but less than 1000 Mbps, the transmission speed priority point of 3 is assigned. When the maximum data transmission speed at the relay device 30 is equal to or greater than 10 Mbps but less than 100 Mbps, the transmission speed priority point of 1 is assigned. When the maximum data transmission speed at the relay device 30 is less than 10 Mbps, the transmission speed priority point of 0 is assigned.

(Image State Management Table)

The memory 5000 further includes an image state management database (DB) 5007, which stores an image state management table of FIG. 19. The image state management table of FIG. 19 stores the delay time ms of image data in association with the image state information. More specifically, the image data management table of FIG. 19 indicates that the quality of image data to be processed by the relay device 30 is lowered, as the delay time ms of the image data at the request terminal 10A or the counterpart terminal 10B increases. For example, when the delay time ms is equal to or greater than 0 milliseconds (ms), but less than 100 ms, the image data quality is high. When the delay time ms is equal to or greater than 100 ms but less than 300 ms, the image data quality is medium. When the delay time ms is equal to or greater than 300 but less than 500 ms, the image data quality is low. When the delay time ms is equal to or greater than 500 ms, the management system 50 interrupts operation of transmitting data.

(Functional Structure of Management System)

Next, a functional structure of the management system 50 is explained according to an example embodiment of the present invention. In this example, the operations or functions that are performed by the management system 50, which include the operations or functions performed by the units shown in FIG. 7, are performed in relation to one or more hardware devices of the management system 50 that are shown in FIG. 6.

The data transmit/receive 51, which may be implemented by the network I/F 209 (FIG. 6) according to an instruction received from the CPU 201, transmits or receives various data or information to or from another terminal, device, or system through the communication network 2.

Under control of the CPU 201 (FIG. 6), the terminal authenticator 52 obtains a terminal ID and a password from the login request information that is received from the data transmit/receive 51. Using the terminal ID and the password as a search key, the terminal authenticator 52 searches the terminal authentication management DB 5002 (FIG. 12) to determine whether the obtained set of terminal ID and password is registered. Based on the search result, the terminal authenticator 52 determines whether the user at the terminal 10 or the terminal 10 is allowed for access.

The state manager 53, which operates according to an instruction received from the CPU 201 (FIG. 6), manages the operation state of the request terminal 10 that sends the login request information, using the terminal management DB 5003 (FIG. 14). The terminal management DB 5003 stores therein the terminal ID of the request terminal 10A, the operation state of the request terminal 10A, the date/time at which the login information is received at the management system 50, and the IP address of the request terminal 10A, in association with one another. For example, when the power of the terminal 10 is switched from the ON state to the OFF state according to a user instruction received through the power switch 109, the state manager 53 receives the operation state information of the terminal 10 indicating that the terminal 10 is turned off, from the terminal 10. Based on the operation state information of the terminal 10, the state manager 53 changes the operation state information of the terminal 10 that is stored in the terminal management DB 5003 from the on-line state to the off-line state.

The terminal extractor 54, which operates according to an instruction received from the CPU 201 (FIG. 6), searches the candidate list management DB 5004 (FIG. 15) using the terminal ID of the request terminal 10A that sends the login request information as a key to obtain a list of terminal IDs each being assigned to a plurality of candidate terminals 10 for the request terminal 10A. Additionally, the terminal extractor 54 searches the candidate list management DB 5004 (FIG. 15) using the terminal ID of the request terminal 10A that sends the login request as a key to obtain a terminal ID of another request terminal 10A that registers the request terminal 10A as a candidate terminal for another request terminal 10A.

The terminal state obtainer 55, which operates under control of the CPU 201 (FIG. 6), searches the terminal management DB 5003 (FIG. 14) using the terminal ID of each candidate terminal 10 that is extracted by the terminal extractor 54 as a key to obtain the operation state information of each candidate terminal 10. More specifically, the terminal state obtainer 55 obtains the operation state of each candidate counterpart terminal 10 that is previously registered as a candidate counterpart terminal for the request terminal 10A that sends the login request information. Further, the terminal state obtainer 55 searches the terminal management DB 5003 using the terminal ID of the request terminal 10A that is extracted by the terminal extractor 54 as a key to obtain the operation state information of the request terminal 10A that sends the login request information. Further, the terminal state obtainer 55 searches the terminal management DB 5003 using the terminal ID of a candidate request terminal 10A that is extracted by the terminal extractor 54 as a key to obtain the operation state information of the candidate request terminal 10A that lists the request terminal 10A that sends the login request information as a candidate counterpart terminal.

The primary relay device selection unit 56, which operates according to an instruction received from the CPU 201 (FIG. 6), limits a number of relay devices 30 each of which is a candidate relay device 30 that may be used for relaying contents data between at least two terminals 10. Based on the result obtained by the primary relay device selection unit 56, the secondary relay device selection unit 16 of the terminal 10 selects one terminal 30 that is most suitable for communication between at least two terminals 10. As illustrated in FIG. 10, the primary relay device selection unit 56 includes a session ID generator 56 a, a terminal IP address extractor 56 b, a primary selector 56 c, and a priority determiner 56 d.

The session ID generator 56 a of the primary relay device selection unit 56 generates a session ID for identifying a session that is used for selecting the relay device 30. The terminal IP address extractor 56 b extracts the terminal ID of the request terminal 10A and the terminal ID of the counterpart terminal 10B respectively from the session request information received from the request terminal 10A, and searches the terminal management DB 5003 (FIG. 14) to obtain the IP address of the request terminal 10A and the IP address of the counterpart terminal 10B. The primary selector 56 c selects one or more relay devices 30 having the online state from the relay device management DB 5001 (FIG. 12) to obtain the relay device ID of the selected relay device 30. In this example, it is assumed that more than two relay devices 30 are selected as having the on-line state.

Further, the primary selector 56 c obtains the IP address of each of the selected relay devices 30. Once the IP address of the relay device 30 is obtained for each relay device 30, the primary selector 56 c compares the IP address of the relay device 30 with at least one of the IP address of the request terminal 10A and the IP address of the counterpart terminal 10B that are respectively obtained by the terminal IP address extractor 56 b to analyze the degree of similarity between the IP address of the terminal 10 and the IP address of the relay device 30. More specifically, the primary selector 56 c compares between the IP address of the terminal 10 and the IP address of the relay device 30, digit by digit, or dot address by dot address, to determine the degree of similarity. Using the address priority management table of FIG. 17, the primary selector 56 c obtains the address priority point for each one of the relay devices 30. Assuming that the primary selector 56 c compares the IP address of the terminal 10 with the IP address of the relay device 30, respectively for the request terminal 10A and the counterpart terminal 10B, the primary selector 56 c obtains two address priority points for each one of the relay devices 30. In such case, the primary selector 56 c selects the highest one of the address priority points as the address priority point for the relay device 30. For each of the relay devices 30, the primary selector 56 c obtains a total priority point by adding the address priority point and the transmission speed priority point together. In this example, the primary selector 56 c selects two relay devices 30 including the relay device 30 having the highest total priority point and the relay device 30 having the second highest total priority point. In this example, a number of relay devices 30 that is finally selected by the primary selector 56 c is not limited to two such that more than two relay devices 30 may be finally selected for further processing as long as a number of relay devices 30 is sufficiently reduced.

The priority determiner 56 d refers to the priority management DB 5006 (FIG. 17) to determine the address priority point for each one of the relay devices 30 that is selected by the primary selector 56 c. The priority determiner 56 d obtains the maximum data transmission speed of the relay device 30 from the relay device management DB 5001 (FIG. 12), and refers to the priority management DB 5006 (FIG. 17) to obtain the transmission speed priority point of the relay device 30 that is selected by the primary selector 56 c.

The session manager 57, which operates according to an instruction received from the CPU 201, stores the session ID generated by the session ID generator 56 a, the terminal ID of the request terminal 10, and the terminal ID of the counterpart terminal 10, in a corresponding manner, in the session management DB 5005 (FIG. 16) of the memory 5000. The session manager 57 further stores the relay device ID of the relay device 30 that is finally selected by the secondary selector 16 b of the terminal 10 for each session ID, in the session management DB 5005 (FIG. 16).

The image state determiner 58, which operates according to an instruction received from the CPU 201 (FIG. 6), searches the image state management DB 5007 (FIG. 19) using the delay time ms obtained for the selected relay device 30 to obtain the image state information. The image state information is used to determine image quality that is desirable for communication using the relay device 30 or to determine whether transmission of the image data should be interrupted.

The memory control 59 is implemented by the HDD 205 of FIG. 6 according to an instruction received from the CPU 201. The memory control 59 stores various data in the memory 5000, or reads out various data from the memory 5000. The delay time manager 60 searches the terminal management DB 5003 (FIG. 14) using the IP address of the counterpart terminal 10B to obtain the terminal ID of the counterpart terminal 10B. The delay time manager 60 further manages the session management table of FIG. 16 stored in the session management DB 5005 so as to keep updated the value stored in the “delay time” field for the obtained terminal ID of the counterpart terminal 10B.

The message generator 61 searches the image state management table (FIG. 19) stored in the image state management DB 5007 using the delay information received at the data transmit/receive 51 as a search key to obtain image state information that is associated with the received delay information. When the image state information indicates that transmission of image data should be interrupted, the message generator 61 generates a message indicating that image data is not transmitted or only sound data (voice data) is transmitted. More specifically, the message generator 61 searches the terminal management DB 5003 (FIG. 14) using the address information that is received by the data transmit/receive 51 together with the delay information as a search key to obtain a terminal ID of the terminal 10 having the received address information. The message generator 61 further searches the session management DB 5005 (FIG. 16) using the terminal ID as a search key to obtain a terminal ID of the terminal having communication with the terminal 10 that is specified. The message generator 61 further searches the terminal management DB 5003 (FIG. 14) using the terminal ID of the terminal 10 as a search key to obtain a terminal name of the terminal 10. The message generator 61 generates message data, which includes the terminal name of the terminal 10.

<Operation of Transmission System>

Referring now to FIGS. 20 to 27, example operation of the transmission system 1 of FIG. 1 is explained. FIG. 20 is a data sequence diagram illustrating operation of managing state information indicating an operation state of the relay device 30, which is transmitted from the relay device 30 to the management system 50. FIG. 21 is a data sequence diagram illustrating operation of establishing communication among two or more terminals 10 of the transmission system of FIG. 1. FIG. 22 is a data sequence diagram illustrating operation of limiting a number of candidate relay devices. FIG. 23 is a flowchart illustrating operation of limiting a number of candidate relay devices. FIG. 24 is a table storing a calculation result of a priority point, which is used for limiting a number of candidate relay devices 30. FIGS. 25A and 25B are a data sequence diagram illustrating operation of selecting the relay device 30, performed by the transmission system 1. FIG. 26 is a flowchart illustrating operation of selecting the relay device 30 performed by the terminal 10. FIG. 27 is a data sequence diagram illustrating operation of transmitting or receiving data such as image data and sound data, performed by two or more terminals 10.

Referring now to FIG. 20, operation of managing state information of the relay device 30, which is sent from each relay device 30 to the management system 50, performed by the transmission system 1 is explained according to an example embodiment of the present invention. In this example, it is assumed that the relay devices 30 a, 30 b, 30 c, and 30 d, which may be each or collectively referred to as the relay device 30, exist in the transmission system 1.

At S1-1, S1-2, S1-3, and S1-4, the relay devices 30 a, 30 b, 30 c, and 30 d each periodically monitors the operation state of the relay device 30. This monitoring is performed by the state detector 32 (FIG. 7) of the relay device 30.

At S2-1, S2-2, S2-3, and S2-4, the data transmit/receive 31 of the relay device 30 periodically transmits state information of the relay device 30 to the management system 50 through the communication network 2. With the state information of the relay device 30 that is periodically received, the management system 50 is able to manage the operation state of the relay device 30 in realtime. The state information of the relay device 30 includes an operation state of the relay device 30 that is detected by the state detector 32 of the relay device 30, which is sent together with a relay device ID that uniquely identifies each relay device 30. For the descriptive purposes, in this example, it is assumed that the relay devices 30 a, 30 b, and 30 d each have the on-line state, and the relay device 30 c has the off-line state due to the failure in relay control program of the relay device 30 c.

At S3-1, S3-2, S3-3, and S3-4, the management system 50 receives the state information from the relay device 30 at the data transmit/receive 51, and stores the received state information of the relay device 30 in the memory 5000 through the memory control 59. More specifically, the memory control 59 stores the state information of each relay device 30 in association with the relay device ID of the corresponding relay device 30 in the relay device management DB 5001 (FIG. 12). For example, referring to FIG. 12, the management system 50 stores the state information of the relay device 30 indicating whether the relay device 30 is on-line, off-line, or in trouble, etc., in association with the relay device ID of the relay device 30. Additionally, the management system 50 stores the date and time information indicating the time when the management system 50 receives the state information of the relay device 30 in association with the relay device ID of the relay device 30. When the management system 50 does not receive any state information from the relay device 30, the relay device management table of FIG. 12 has an empty value for the “operation state” field and the “date and time” field for the subjected relay device 30. Alternatively, the value of the “operation state” field and the value of the “date and time” field may reflect the state information that is previously sent by the subjected relay device 30 to the management system 50 such that the relay device management table of FIG. 12 retains such value.

Referring now to FIG. 21, operation of transmitting and receiving various management data before starting videoconference with the terminal 10 db by the request terminal 10 aa is explained, according to an example embodiment of the present invention. In FIG. 21, management data is transmitted or received through the management data session sei.

For example, at S21, when the user selects “ON” using the power switch 109, the operation input 12 receives a user instruction for turning the power on, and causes the terminal 10 to turn on the power. At S22, as the power of the request terminal 10 aa is turned on, the login request 13 of the request terminal 10 aa automatically causes the data transmit/receive 11 to send the login request information that requests the login process to the management system 50 through the communication network 2. The login request information includes a terminal ID that identifies the request terminal 10 aa, and a password assigned to the request terminal 10 aa. The terminal ID and the password may be obtained by the memory control 19 from the memory 1000, and sent to the data transmit/receive 11. At the time of sending the login request information from the request terminal 10 aa to the management system 50, the request terminal 10 aa sends an IP address of the request terminal 10 aa such that the management system 50 knows the IP address of the request terminal 10 aa.

At S23, the terminal authenticator 52 of the management system 50 searches the terminal authentication management DB 5002 (FIG. 12) stored in the memory 5000 using the terminal ID and the password of the login request information received through the data transmit/receive 51. When it is determined that the terminal ID and the password of the login request information is stored in the terminal authentication management DB 5002, the terminal authenticator 52 determines that the terminal 10 aa is authenticated.

At S24, when the terminal authenticator 52 authenticates that the login request information is received from the authenticated terminal 10, the state manager 53 of the management system 50 stores the operation state, the date and time at which the login request information is received, and the IP address of the terminal 10 aa, with respect to the terminal ID in the terminal management DB 5003 (FIG. 14) to create a record of the terminal 10 aa. Using the terminal management table of FIG. 14, which stores the operations state of “online, communication OK”, the date and time of “13:40, 11/10/2009”, and the terminal IP address of “1.2.1.3” in association with the terminal ID “01aa”, various information regarding the terminal 10 aa can be managed.

At S25, the data transmit/receive 51 of the management system 50 sends the authentication result obtained by the terminal authenticator 52 to the request terminal 10 aa that has sent the login request information through the communication network 2. As described above, in this example, it is assumed that the terminal authenticator 52 determines that the terminal 10 aa is an authenticated terminal.

At S26, the terminal extractor 54 of the management system 50 searches the candidate list management DB 5004 (FIG. 15) using the terminal ID “01aa” of the request terminal 10 aa that has sent the login request information to extract a terminal ID and a terminal name for each of candidate terminals 10 that are previously registered for the request terminal 10 aa. More specifically, referring to FIG. 15, the terminal extractor 54 extracts terminal IDs including “01ab”, “01ba”, “01db”, etc. of terminals 10 ab, 10 ba, 10 db, etc., which are associated with the request terminal 10 aa.

Further, at S27, the terminal state obtainer 55 searches the terminal management DB 5003 (FIG. 14) using the extracted terminal IDs (“01ab”, “01ba”, and “01db”, etc.) of the candidate terminals 10 extracted by the extractor 54 as a search key to obtain the operation state for each one of the candidate terminals 10 ab, 10 ba, 10 db, etc.

At S28, the data transmit/receive 51 of the management system 50 sends the terminal ID (“01ab”, “01ba”, and “01db”, etc.) and the operation state information for each one of the candidate terminals 10 ab, 10 ba, 10 db, etc. to the request terminal 10 aa through the communication network 2. More specifically, the data transmit/receive 51 of the management system 50 sends the operation state information of the candidate terminal 10 ab together with the terminal ID “01ab” of the candidate terminal 10 ab as the terminal state information. In this example, the terminal ID “01ab” of the candidate terminal 10 ab has been extracted by the terminal extractor 54. Using the terminal ID “01ab” as a search key, the operation state of the candidate terminal 10 ab, which is the off-line state, is obtained. Similarly, the data transmit/receive 51 of the management system 50 sends the terminal state information of the candidate terminal 10 ba, which includes the terminal ID “01ba” and the operation state of the candidate terminal 10 ba indicating the “online, interrupted” state. This process of sending the terminal state information is repeated until the terminal state information is sent for all of the candidate terminals 10. In this manner, the request terminal 10 aa is able to obtain the operation states (“offline”, “online”, and “online”, etc.) of the candidate terminals 10 ab, 10 ba, and 10 db, etc.

At S29, the terminal extractor 54 of the management system 50 searches the candidate list management DB 5004 (FIG. 15) using the terminal ID “01aa” of the request terminal 10 aa that has sent the login request information to extract the terminal ID of one or more terminals 10 each of which registers the request terminal 10 aa as one of its candidate terminals 10. The candidate list management table of FIG. 15 indicates that the terminal ID of the terminal 10 having the request terminal 10 aa as a candidate terminal is “01ab”, “01ba”, and “01db”.

At S30, the terminal state manager 55 of the management system 50 searches the terminal management DB 5003 (FIG. 14) using the terminal ID “01aa” of the request terminal 10 aa that has sent the login request information as a search key to obtain the operation state of the request terminal 10 aa. In this example, the operation state “online, communication OK” is extracted for the request terminal 10 aa.

At S31-1 and S31-2, the data transmit/receive 51 of the management system 50 sends the terminal ID “01aa” and the operation state of the request terminal 10 aa, which are respectively obtained at S30, to the terminals 10 ab, 10 ba, and 10 db each having the request terminal 10 aa as a candidate terminal that is obtained at S29. In this example, the management system 50 sends the terminal state information of the request terminal 10 aa to only the terminals 10 ba and 10 db each having the “online, communication OK” state as shown in FIG. 14. Further, since the operation state for the request terminal 10 aa is “online, communication OK”, the operation state information “online, communication OK” is transmitted.

More specifically, in this example, the data transmit/receive 51 refers to the terminal management table of FIG. 14 to obtain the IP address of each of the terminals 10 ba and 10 db. Using the obtained IP addresses, the management system 50 is able to send the terminal state information of the request terminal 10 aa to the terminals 10 ba and 10 db each of which lists the request terminal 10 aa as a candidate terminal.

The above-described operation of S22 to S31-1 and 31-2 is performed by any desired terminal 10 as the power of the terminal 10 is turned on through the power switch 109 (FIG. 6).

Referring now to FIG. 22, operation of limiting a number of candidate relay devices 30 is explained according to an example embodiment of the present invention. The operation of FIG. 22 is performed during a management data session sei (FIG. 2), which transmits or receives various management data in the transmission system 1. Further, in this example, the request terminal 10 aa can start communication with at least one of the terminals 10 ba, 10 db, etc., based on the terminal state information received at S28 of FIG. 21. For the descriptive purposes, it is assumed that the user at the request terminal 10 aa starts communication with the counterpart terminal 10 db.

At S41, the user at the request terminal 10 aa operates the operation button 108 to select the terminal 10 db as a counterpart terminal. Upon selection, the operation input 12 (FIG. 7) of the request terminal 10 aa receives a user instruction for starting communication with the counterpart terminal 10 db.

At S42, the data transmit/receive 11 of the request terminal 10 aa sends the communication start request information that requests the management system 50 to start communication with the counterpart terminal 10 db to the management system 50. The communication start request information at least includes identification information such as the terminal ID “01aa” of the request terminal 10 aa and the terminal ID “01db” of the counterpart terminal 10 db. With the communication start request information, the data transmit/receive 51 of the management system 50 receives the IP address “1.2.1.3” of the request terminal 10 aa.

At S43, the state manager 53 looks for records in the terminal management DB 5003 (FIG. 14) based on the terminal ID “01aa” of the request terminal 10 aa and the terminal ID “01db” of the counterpart terminal 10 db, which are included in the communication start request information. The state manager 53 changes each of the operation states of the request terminal 10 aa and the counterpart terminal 10 db in the records, from the online, communication OK state to the online, communicating state.

At this time, the request terminal 10 aa and the counterpart terminal 10 db have not started communication, but the request terminal 10 aa and the counterpart terminal 10 db each have the communicating state. In case another terminal 10 tries to communicate with the request terminal 10 aa or the counterpart terminal 10 db, the management system 50 causes the another terminal 10 to output voice or display indicating that the request terminal 10 aa or the counterpart terminal 10 db is in the communicating state.

At S44, the management system 50 prepares for a session that is performed for selecting the relay device 30 for communication between the request terminal 10 aa and the counterpart terminal 10 db. More specifically, at S44, the session ID generator 56 a (FIG. 10) of the management system 50 generates a session ID for a session that is to be performed for selection of the relay device 30.

At S45, the session manager 57 stores the session ID “se1” generated at S44, the terminal ID “01aa” of the request terminal 10 aa, and the terminal ID “01db” of the counterpart terminal 10 db, in the session management DB 5005 (FIG. 16) stored in the memory 5000.

At S46, the primary relay device selection unit 56 of the management system 50 limits a number of candidate relay devices 30 from which one relay device 30 to be used for communication between the request terminal 10 aa and the counterpart terminal 10 db is selected, using the relay device management DB 5001, the terminal management DB 5003, and the priority management DB 5006.

Referring now to FIG. 10 and FIG. 23, operation performed at S46 of FIG. 22 is explained in detail. At S46-1 of FIG. 23, the terminal IP address extractor 56 b of the management system 50 searches the terminal management DB 5003 (FIG. 14) using the terminal ID “01aa” of the request terminal 10 aa and the terminal ID “01db” of the counterpart terminal 10 db included in the communication start request information sent from the request terminal 10 aa as a key to obtain the IP addresses of the terminals 10 aa and 10 db, i.e., the IP address “1.2.1.3” and the IP address “1.3.2.4”.

At S46-2, the primary selector 56 c refers to the relay device management DB 5001 (FIG. 12) to select one or more relay devices 30 having the on-line operation state, and obtains the relay device ID of the selected relay device 30. More specifically, in this example, the primary selector 56 c obtains the relay device IDs 111 a, 111 b, and 111 d of the relay devices 30 a, 30 b, and 30 d.

At S46-3, the primary selector 56 c searches the relay device management DB 5001 (FIG. 12) to obtain the IP address of each of the relay devices 30 a, 30 b, and 30 d, using the relay device IDs 111 a, 111 b, and 111 d obtained at S46-2. Further, the primary selector 56 c compares each one of the IP addresses “1.2.1.2”, “1.2.2.2”, and “1.3.2.2” of the relay devices 30 a, 30 b, and 30 d, with each one of the IP addresses “1.2.1.3” and “1.3.2.4” obtained at S46-1, dot address by dot address, to determine the degree of similarity between the relay device IP address and the terminal IP address.

At S46-4, the priority determiner 56 d refers to the priority management DB 5006 (FIG. 17) to determine a value of address priority point for each one of the relay devices 30 a, 30 b, and 30 d. In this example, as illustrated in FIG. 24, for each one of the relay devices 30 a, 30 b, and 30 d, the priority determiner 56 d obtains an address priority point with respect to the request terminal 10 aa and an address priority point with respect to the counterpart terminal 10 db. FIG. 24 illustrates a table storing a calculation result of a priority point, which is used for limiting a number of candidate relay devices 30. The table of FIG. 24 stores an address priority point, a transmission speed priority point, and a total priority point, for each one of the relay devices IDs of the relay devices 30. The address priority point includes a first address priority point with respect to the request terminal 10 aa, and a second address priority point with respect to the counterpart terminal 10 db. The total priority point is obtained by adding the highest one of the first and second address priority points with the transmission speed priority point.

In this example, based on comparison between the IP address “1.2.1.2” of the relay device 30 a and the IP address “1.2.1.3” of the request terminal 10 aa, the degree of similarity is “S.S.S.D” such that the address priority point of 5 is obtained. Similarly, based on comparison between the IP address “1.2.1.2” of the relay device 30 a and the IP address “1.3.2.4” of the counterpart terminal 10 db, the degree of similarity is “S.D.D.D” such that the address priority point of 1 is obtained. Based on comparison between the IP address “1.2.2.2” of the relay device 30 b and the IP address “1.2.1.3” of the request terminal 10 aa, the degree of similarity is “S.S.D.D” such that the address priority point of 3 is obtained. Similarly, based on comparison between the IP address “1.2.2.2” of the relay device 30 b and the IP address “1.3.2.4” of the counterpart terminal 10 db, the degree of similarity is “S.D.S.D” such that the address priority point of 1 is obtained. Based on comparison between the IP address “1.3.2.2” of the relay device 30 d and the IP address “1.2.1.3” of the request terminal 10 aa, the degree of similarity is “S.D.D.D” such that the address priority point of 1 is obtained. Similarly, based on comparison between the IP address “1.3.2.2” of the relay device 30 a and the IP address “1.3.2.4” of the counterpart terminal 10 db, the degree of similarity is “S.S.S.D” such that the address priority point of 5 is obtained.

Referring back to FIG. 23, at S46-5, the priority determiner 56 d searches the priority management DB 5006 (FIG. 18) using the maximum data transmission speed of the relay device 30 that is stored in the relay device management DB 5001 (FIG. 12) to determine a transmission priority point for each one of the relay devices 30 a, 30 b, and 30 d that are selected at S46-2.

In this example, referring to FIG. 12 and FIG. 18, the relay device 30 a having the maximum data transmission speed of 100 Mbps is assigned with the transmission priority point of 3. Similarly, the relay device 30 b having the maximum data transmission speed of 1000 Mbps is assigned with the transmission priority point of 5. Similarly, the relay device 30 d having the maximum data transmission speed of 10 Mbps is assigned with the transmission priority point of 1. Accordingly, the priority determiner 56 d stores the transmission priority point for each one of the relay devices 30 a, 30 b, and 30 d in the table of FIG. 24.

At S46-6, for each one of the relay devices 30 a, 30 b, and 30 d, the primary selector 56 c adds the highest one of the first and second address priority points with the transmission speed priority point to obtain a total priority point. The primary selector 56 c selects the total of two relay devices 30 having the highest priority point. For example, the primary selector 56 c selects the relay device 30 having the highest total priority point and the relay device 30 having the second highest total priority point as a candidate relay device 30 for further processing. In this example, referring to FIG. 24, the relay devices 30 a, 30 b, and 30 d having the relay device IDs 111 a, 111 b, and 111 d respectively have the total priority points of 8, 8, and 6. Accordingly, the primary selector 56 c selects the relay device 30 a having the relay device ID 111 a, and the relay device 30 b having the relay device ID 111 b.

After the operation of S46 illustrated in FIG. 22 completes, at S47 of FIG. 22, the data transmit/receive 51 (FIG. 7) of the management system 50 sends the relay device selection information to the counterpart terminal 10 db through the communication network 2. The relay device selection information includes a number of candidate relay devices 30, which is “2”, the terminal ID “01aa” of the request terminal 10 aa, and the session ID “se1” for relay device selection. With this relay device selection information, the counterpart terminal 10 db is able to obtain information including the number of candidate relay devices 30, the request terminal 10 aa that requests for videoconference, and the session ID “se 1” of the session for relay device selection. In addition, the counterpart terminal 10 db obtains the IP address “1.1.1.2” of the management system 50 that has sent the relay device selection information.

At S48, the data transmit/receive 11 of the counterpart terminal 10 db sends confirmation information indicating that the relay device selection information is received, to the management system 50 through the communication network 2, with the IP address of the counterpart terminal 10 db. The confirmation information includes the session ID “se1”. With this confirmation information, the management system 50 is able to know that the counterpart terminal 10 db is notified with the number of candidate relay devices 30 obtained during the session se1, and the IP address “1.3.2.4” of the counterpart terminal 10 db.

Referring now to FIGS. 25A, 25B (FIGS. 25), and 26, operation of selecting the relay device 30, performed by the counterpart terminal 10 db, is explained according to an example embodiment of the present invention. The operation of FIG. 25 is performed during the management data session sei of FIG. 2, which transmits or receives various management data in the transmission system 1.

Before starting videoconference, at S61-1 and S61-2, the management system 50 sends preparatory relay request information, respectively, to the relay devices 30 a and 30 b, which are selected by the management system 50 at S46 as candidate relay devices. The preparatory relay request information requests the relay device 30 to perform relay processing before starting the videoconference. More specifically, the preparatory relay request information includes the session ID “se1”, the IP address “1.2.1.3” of the request terminal 10 aa, and the IP address “1.3.2.4” of the counterpart terminal 10 db, and is transmitted with the IP address of the management system 50. With this preparatory relay request information, the relay devices 30 a and 30 b are each able to obtain information including the session, the request terminal, the counterpart terminal, and the IP address “1.1.1.2” of the management system 50 that has sent the preparatory relay request information.

At S62-1 and S62-2, the relay devices 30 a and 30 b each cause the data transmit/receive 31 to send preparatory transmit request information to the request terminal 10 aa through the communication network 2. The preparatory transmit request information requests the request terminal 10 aa to send preparatory transmit information including the Packet Internet Grouper (PING) to each one of the relay devices 30 a and 30 b before starting the videoconference. More specifically, the preparatory transmit request information includes the session ID “se1”, and is transmitted with the IP addresses of the relay devices 30 a and 30 b. With this preparatory transmit request information, the request terminal 10 aa is able to know that the preparatory transmit information is to be sent during the session with the session ID “se1”, as well as the IP addresses “1.2.1.2” and “1.2.2.2” of the relay devices 30 a and 30 b.

As described above, the management system 50 does not directly send the IP address of the counterpart terminal 10 db to the request terminal 10 aa. Instead, as described above referring to S61-1 and S61-2, the management system 50 sends the IP address of the counterpart terminal 10 db respectively to the relay device 30 a and the relay device 30 b. As described above referring to S62-1, the relay device 30 aa requests the request terminal 10 aa to send the preparatory transmit information to the relay device 30 aa. In this manner, the management system 50 prevents the terminal 10 from obtaining the IP address of another terminal 10, thus improving the security.

At S63-1 and S63-2, the request terminal 10 aa causes the data transmit/receive 11 to send the preparatory transmit information, respectively, to the relay devices 30 a and 30 b through the communication network 2. The preparatory transmit information is sent to the counterpart terminal 10 db through each one of the relay devices 30 a and 30 b before the contents data such as the image data and the sound data is transmitted. By sending the preparatory transmit information in replace of the contents data, the management system 50 is able to calculate a time period required for transmitting the contents data from the request terminal 10 aa to the counterpart terminal 10 db through each one of the relay devices 30 a and 30 b. Further, the preparatory transmit information includes PING information used for checking whether the request terminal 10 aa, the relay device 30 a or 30 b, and the counterpart terminal 10 db are each connected to allow communication, the date and time of which the request terminal 10 aa sends the preparatory transmit information, and the session ID “se1”. With this preparatory transmit information, each of the relay devices 30 a and 30 b knows that the preparatory transmit information is transmitted in the session with the session ID “se1”, and the IP address “1.2.1.3” of the request terminal 10 aa that has sent the preparatory transmit information.

At S64-1 and S64-2, the relay devices 30 a and 30 b each transmit the preparatory transmit information to the counterpart terminal 10 db having the IP address “1.3.2.4”, which is obtained from the preparatory transmit information. With the preparatory transmit information, the counterpart terminal 10 db is able to know that the preparatory transmit information is transmitted during the session with the session ID “se1”, and the IP addresses “1.2.1.2” and “1.2.2.2” of the relay devices 30 a and 30 b that respectively send the preparatory transmit information.

At S65, the secondary relay device selection unit 16 of the counterpart terminal 10 db selects one of the relay devices 30 a and 30 b to be used for videoconference, based on the preparatory transmit information.

Referring now to FIG. 9 and FIG. 26, operation of selecting the relay device 30 for videoconference, which is performed at S65 of FIG. 25, is explained. At S65-1, the counter 16 a of the secondary relay device selection unit 16 (FIG. 9) obtains the date and time at which the data transmit/receive 11 of the counterpart terminal 10 db receives the preparatory transmit information for each one of the relay devices 30 a and 30 b.

At S65-2, the calculator 16 b calculates, for each one of the relay devices 30 a and 30 b, a time period between the time when the preparatory transmit information is transmitted by the request terminal 10 aa and the time when the preparatory transmit information is received by the counterpart terminal 10 db. The date and time at which the preparatory information is transmitted by the request terminal 10 aa is obtainable from the preparatory transmit information. The date and time of which the preparatory transmit information is received at the counterpart terminal 10 db is obtained by the counter 16 a.

At S65-3, the secondary selector 16 c determines whether all items of preparatory transmit information is received for all of candidate relay devices, during the session with the session ID “se1”. In this example, the secondary selector 16 c counts a total number of items of preparatory transmit information that have been received, and compares with the total number of candidate relay devices 30 of “2”.

When it is determined that the preparatory transmit information has not been received for at least one relay device 30 (“NO” at S65-3), the operation proceeds to S65-4. When it is determined that the preparatory transmit information has been received for all of the candidate relay devices 30 (“YES” at S65-3), the operation proceeds to S65-5. When it is determined that the predetermined time period has not passed (“NO” at S65-4), the operation returns to S65-1. When it is determined that the predetermined time period has passed (“YES” at S65-4), the operation proceeds to S65-5.

At S65-4, the secondary selector 16 c determines whether a predetermined time period passes after the preparatory transmit information is received at the counterpart terminal 10 db. In this example, the predetermined time period is set to one minute. When it is determined that the predetermined time period has not passed (“NO” at S65-4), the operation returns to S65-1. When it is determined that the predetermined time period has passed (“YES” at S65-4), the operation proceeds to S65-5. At S65-5, the secondary selector 16 c selects one of the relay devices 30, which has the least value of the time period required for transmitting the preparatory transmit information based on the calculation of the calculator 16 b.

In this example, it is assumed that the relay device 30 a is selected as a time period for transmitting the preparatory transmit information that is relayed through the relay device 30 a has a value less than the value of the time period for transmitting the preparatory transmit information that is relayed through the relay device 30 b.

Referring back to FIG. 25, at S66, the data transmit/receive 11 of the counterpart terminal 10 db sends the relay device selection information to the management system 50 through the communication network 2. In this example, the relay device selection information indicates that the relay device 30 a is selected. More specifically, the relay device selection information includes the session ID “se1”, and the relay device ID “111a” of the selected relay device 30 a, and is transmitted with the terminal IP address of the counterpart terminal 10 db. With the relay device selection information, the management system 50 is able to know that the relay device 30 a has been selected during the session with the session ID “se1”, and the IP address “1.3.2.4” of the counterpart terminal 10 db that has sent the relay device selection information.

At S67, the session manager 57 of the management system 50 stores, in the session management table of FIG. 16 stored in the session management DB 5005, the relay device ID “111a” of the relay device 30 a, which is finally selected for communication, in the “relay device ID” field of a record provided for the session with the session ID “se1”.

At S68, the data transmit/receive 51 of the management system 50 sends the relay start request information to the relay device 30 a through the communication network 2. The relay start request information requests the relay device 30 a to start relay operation. More specifically, the relay start request information includes the IP address “1.2.1.3” of the request terminal 10 aa, and the IP address “1.3.2.4” of the counterpart terminal 10 db.

At S69, the relay device 30 a establishes four sessions between the request terminal 10 aa and the counterpart terminal 10 db including a session for transmission of low-level resolution image data a session for transmission of medium-level resolution image data, a session for transmission of high-level resolution image data, and a session for transmission of sound data. Once these sessions are established, the request terminal 10 aa is able to start videoconference with the counterpart terminal 10 db.

In the above-described example, the management system 50 sends the relay device selection information to the counterpart terminal 10 db at S47 (FIG. 22), and the counterpart terminal 10 db performs operation of S48, S64-1 (FIG. 25A), S64-2 (FIG. 25B), and S65 (FIG. 25B) to select the relay device 30. In alternative to this example, the management system 50 may send the relay device selection information to the request terminal 10 aa to cause the request terminal 10 aa to perform selection of the relay device 30. In such case, the request terminal 10 aa performs operation of S48, S64-1, S64-2, and S65 in a substantially similar manner as described above. Further, at S66, the request terminal 10 aa sends the relay device selection information to the management system 50.

Referring now to FIG. 7 and FIG. 27, operation of transmitting and receiving contents data such as image data and sound data between the request terminal and the counterpart terminal to carry out videoconference, performed by the transmission system 1, is explained according to an example embodiment of the present invention.

In this example, the contents data such as the image data and the sound data flows in a direction from the request terminal 10 aa to the counterpart terminal 10 db, or in another direction from the counterpart terminal 10 db to the request terminal 10 aa. Since operation such as transmission and reception of the contents data or detection of delay time is the same for both of the directions, the following example focuses on communication in which data flows from the request terminal 10 aa to the counterpart terminal 10 dh via the relay device 30 a.

Referring to FIG. 27, at S81, the data transmit/receive 11 of the request terminal 10 aa sends the contents data and the terminal ID “01aa” of the terminal 10 aa to the relay device 30 a through the communication network 2 in the contents data session “sed”. The contents data includes image data such as image data of an object captured by the imaging unit 14 and sound data that is input through the sound input 15 a. In this example, it is assumed that the high-quality image data based on the low-level resolution image data, the medium-level resolution image data, and the high-level resolution image data, and the sound data, are transmitted. Accordingly, the data transmit/receive 31 of the relay device 30 a receives the image data of three different resolution levels, and the sound data.

At S82, the image state checker 33 searches the image state change management table (FIG. 11) using the IP address “1.3.2.4” of the counterpart terminal 10 db as a key to obtain the image state information, and to determine whether to change quality of image data to be transmitted to the relay device 30 a or interrupt transmission of image data.

In this example, the quality of image data to be transmitted to the relay device 30 a is the high-quality image data. Since the image data that is received at the data transmit/receive 31 has the quality that is the same as the quality of the image data obtained from the image state change management DB 3001, at S83, the relay device 30 a sends the high-quality image data and the sound data to the counterpart terminal 10 db in the contents data session “sed”, without applying further image processing. The relay device 30 a further transmits the terminal ID “01aa” of the request terminal 10 aa, to the counterpart terminal 10 db.

The counterpart terminal 10 db receives the high quality image data that is generated based on the low-level resolution image data, medium-level resolution image data, and high-level resolution image data, and the sound data, at the data transmit/receive 11. The display control 17 combines the image data of three different resolution levels into the high quality image data for display onto the display 120. Further, the sound output 15 b outputs the sound based on the sound data.

At S84, the delay detector 18 of the counterpart terminal 10 db periodically receives information indicating a delay time indicating the time at which the image data is received at the data transmit/receive 11, for example, every one second. In this example, it is assumed that the delay time of 200 ms is obtained.

At S85, the data transmit/receive 11 of the counterpart terminal 10 db sends the delay information indicating the delay time of 200 ms to the management system 50 through the communication network 2, during the management data session “sei”. With the delay information, the management system 50 is notified of the delay time, and the IP address “1.3.2.4” of the counterpart terminal 10 db that has sent the delay information.

At S86, the delay time manager 60 of the management system 50 searches the terminal management table (FIG. 14) using the IP address “1.3.2.4” of the counterpart terminal 10 db as a search key to extract the terminal ID “01db” of the counterpart terminal 10 db. The delay time manager 60 stores the delay time of 200 ms obtained from the delay information in a “delay time” field of the record of the terminal ID “01db” of the session management table stored in the session management DB 5005 (FIG. 16). At S87, the image state determiner 58 searches the image state management table stored in the image state management DB 5007 (FIG. 19) using the delay time of 200 ms to extract the image state information, that is, the image data quality of “MEDIUM”. Based on the extracted image data quality, the image state determiner 58 determines that the quality of image data suitable for the delay time of 200 ms is medium. At S88, the data transmit/receive 51 searches the relay device management table in the relay device management DB 5001 (FIG. 12) using the relay device ID “111a”, which is stored in the session management DB (FIG. 16) in association with the counterpart terminal ID “01db”, to extract the IP address “1.2.1.2” of the relay device 30 a.

At S89, the data transmit/receive 51 sends the image state information such as the quality information indicating that the image data quality that has been determined at S87 is medium-level, to the relay device 30 a through the communication network 2 through the management data session “sei”. The image state information is transmitted with the IP address “1.3.2.4” of the counterpart terminal 10 db, which was used as a search key at S86.

At S90, the data quality manager 34 of the relay device 30 a stores the IP address “1.3.2.4” of the counterpart terminal 10 db in association with information regarding the “medium-level” quality of image data to be relayed by the counterpart terminal 10 db, in the image state change management DB 3001 (FIG. 11).

At S91, the request terminal 10 aa transmits the high quality image data including the low-level resolution image data, the medium-level resolution image data, and the high-level resolution image data, and the sound data, to the relay device 30 a through the contents data session “sed”, in a substantially similar manner as described above referring to S81.

At S92, the image state checker 33 of the relay device 30 a searches the image state change management DB 3001 (FIG. 11) using the IP address “1.3.2.4” of the counterpart terminal 10 db as a search key to determine whether to extract the quality of the image data suitable for the counterpart terminal 10 db or to interrupt transmission of image data, in a substantially similar manner as described above referring to S82.

At S93, since the image data quality that is stored for the counterpart terminal 10 db is the medium-level, which is lower than the quality of the image data that is received at the data transmit/receive 31, the image state changer 35 changes the quality of the image data from the high-level to the medium level. In this example, the quality of the sound data remains the same.

At S94, the data transmit/receive 31 of the relay device 30 sends the image data having the quality that is lowered to the medium-level, and the sound data, to the counterpart terminal 10 db through the communication network 2, during the contents data session “sed”. Further, the relay device 30 a sends the terminal ID “01aa” of the request terminal 10 aa to the terminal 10 db. The data transmit/receive 11 of the counterpart terminal 10 db receives the medium-quality image data that is generated based on the low-level resolution image data and the medium-level resolution image data, and the sound data. The display control 17 of the counterpart terminal 10 db combines the image data of two different resolution levels to generate the medium-level image data for display on the display 120. Further, the voice output 15 b outputs the sounds generated based on the sound data.

As described above, when any delay in receiving the image data at the counterpart terminal 10 db is observed, the relay device 30 a changes the quality of image data by lowering the quality of image data. Accordingly, the users participating the videoconference are able to carry out communication more smoothly.

Further, as long as the condition causing the delay is resolved, the image quality is again changed from the lower image quality to the higher image quality. For example, when the delay time is decreased to 100 ms or lower as the loads on the communication network 2 decrease, after performing S85 to S92, at S93, the image quality is changed from the medium level to the high level.

Referring now to FIGS. 28 to 37, various image data to be displayed on the display 120 db of the terminal 10 db is explained according to an example embodiment of the present invention. In the following example, it is assumed that the terminal 10 aa, the terminal 10 ca, and the terminal 10 db are having videoconference, by sending contents data through the relay device 30 a as described above referring to FIG. 27. Further, in this example, the request terminal 10 transmits or receives contents data to or from the counterpart terminal 10 through a contents data session assigned with a specific session ID, such that there are three contents data sessions respectively for the terminal 10 db and the terminal 10 aa, the terminal 10 db and the terminal 10 ca, and the terminal 10 aa and the terminal 10 ca.

Accordingly, when viewed from the terminal 10 db, the terminal 10 db transmits or receives contents data with the terminal 10 aa through the contents data session assigned with a specific session ID, and transmits or receives contents data with the terminal 10 ca through the contents data session assigned with a specific session ID. For each contents data session, it is assumed that data is transmitted or received as described above referring to FIG. 27.

FIG. 28 illustrates an example videoconference screen P0 being displayed on the display 120 db of the terminal 10 db. As illustrated in FIG. 28, the videoconference screen P0 displayed on the display 120 db includes a main screen P1 in which the image of one or more users at the counterpart terminal 10 is displayed, a first sub-screen P2 in which the image of one or more users at the terminal 10 at its own site is displayed, and a plurality of other sub-screens P3 to P8. In any one of the sub-screens P3 to P8, an image of one or more users participating in videoconference through the other terminal 10, other than the users being displayed in the main screen P1 and the first sub-screen P2, may be displayed. The main screen P1 is the largest in display size than the other sub-screens of the display 120. Further, in this example, the main screen P1 displays the site at which the user who is currently speaking is located. More specifically, in this example, the main screen P1 displays an image at the terminal 10 aa or 10 ca. The sub-screen P2 displays an image at the terminal 10 db. The sub-screen P3 displays an image at the terminal 10 aa or 10 ca.

The videoconference screen P0 further includes the message display area P10 at the lower left portion of the screen P0, in which various messages are displayed. The videoconference screen P0 further includes a “SWITCH SCREEN” button P11 at the central portion of the screen P0. When selected such as a pointer using the mouse, the “SWITCH SCREEN” button P11 switches between an image displayed on the main screen P1 and one of the images displayed on the sub-screens P2 to P8.

The videoconference screen P0 further includes a camera icon P12 at the lower right portion of the screen P0. The camera icon P12 indicates whether the camera 112 of the terminal 10 at its own site (in this case, the terminal 10 db) is turned on such that image data is transmitted or turned off such that image data is not transmitted. When the camera icon P12 is shown with the mark “X”, the camera 112 is turned on such that the user may turn off the camera 112 by selecting the camera icon P12. When the camera icon P12 is not shown with the mark “X”, the camera 112 is turned off such that the user may turn on the camera 112 by selecting the camera icon P12.

Referring now to FIGS. 29 to 31, operation of displaying an image of a user who is currently participating in videoconference through the terminal 10 on the main screen P1 of the display 120 is explained according to a first example embodiment of the present invention. FIG. 29 is a flowchart illustrating operation of changing an image being displayed on a specific screen of the display 120. FIG. 30 is an example data structure of image data management table having the contents that are changed. FIG. 31 illustrates an example screen displayed on the display 120, after the screen is changed from the screen of FIG. 28 based on the changed contents of the image data management table of FIG. 30.

At S101 of FIG. 29, the sound analyzer 21 of the terminal 10, such as the terminal 10 db, constantly analyzes sound data received at the data transmit/receive 11 to determine whether the received sound data includes sounds having a sound signal level that is equal to or greater than a predetermined level. When it is determined that the sound data does not include sounds having a sound signal level equal to or greater than the predetermined level (“NO” at S101), the operation repeats S101. When it is determined that the sound data includes sounds having a sound signal level equal to or greater than the predetermined level (“YES” at S101), the operation proceeds to S102.

In this example, it is assumed that the sound data received from the counterpart terminal 10 ca includes sounds having a sound signal level equal to or greater than the predetermined level.

At S102, the changer 22 updates information stored in the image data management table stored in the image data management DB 1001, based on the detection result at S101. More specifically, in this example, the image data management table previously stores the terminal ID “01aa” of the terminal 10 aa in association with the screen number “1”, the terminal ID “01db” of the terminal 10 db in association with the screen number “2”, and the terminal ID “ca” of the terminal 10 ca in association with the screen number “3”. With the information stored in the image data management table, the display control 17 displays the screen P0 as illustrated in FIG. 28. More specifically, the display control 17 displays the image of the terminal 10 aa in the main screen P1, the image of the terminal 10 db in the sub-screen P2, and the image of the terminal 10 ca in the sub-screen P3.

Based on the detection result at S101, the changer 22 obtains the terminal ID “01ca” of the terminal 10 ca that sends the sound data having a sound signal level equal to or greater than the predetermined level, and associates the terminal ID “01ca” with the screen number “1” as illustrated in FIG. 30. The changer 22 further associates the terminal ID “01aa” with the screen number “3” as illustrated in FIG. 30. As the information stored in the image data management table is changed, the display control 17 displays images at different sites on the respective screens P1, P2, and P3 on the display 120 db, as illustrated in FIG. 31. In FIG. 31, the image transmitted from the terminal 10 ca is displayed in the main screen P1, and the image transmitted from the terminal 10 aa is displayed on the sub-screen P3.

Through performing operation of FIG. 29, the display control 17 of the terminal 10 db displays an image showing a user who is currently speaking on the main screen P1. As the user who is currently speaking is displayed in the larger screen, the participating user is able to instantly recognize who is currently speaking.

In the above-described example referring to FIG. 27, at S85, it is assumed that the delay time of 200 ms is obtained, which indicates that delay in the time at which the image data transmitted from the terminal 10 aa is received at the counterpart terminal 10 db. In such case, the quality of image data to be transmitted to the counterpart terminal 10 db is made lower, thus increasing the transmission speeds. If the delay time having much longer time is obtained from the counterpart terminal 10 db, the management system 50 interrupts transmission of image data such that the terminal 10 db does not receive image data transmitted from the terminal 10 aa. In such case, the management system 50 generates a message indicating that image data is not transmitted to notify the user at the terminal 10 db. Alternatively, the management system 50 may generate a message indicating that only sound data is transmitted to notify the user at the terminal 10 db.

More specifically, in the following example referring to FIGS. 32 to 36, it is assumed that the delay information transmitted from the terminal 10 db through the contents data session with the terminal 10 aa indicates that the delay time is 600 ms, such that interruption is required. Further, it is assumed that the delay information transmitted from the terminal 10 db through the contents data session with the terminal 10 ca indicates that the delay time is less than 500 ms, such that interruption is not required.

In such case, in a similar manner as described above referring to S86, the delay time manager 60 of the management system 50 stores the delay time of 600 ms obtained from the delay information received from the counterpart terminal 10 db, in a “delay time” field of the record of the terminal ID “01db” of the session management table stored in the session management DB 5005 (FIG. 16).

Further, in a similar manner as described above referring to S87, the image state determiner 58 of the management system 50 searches the image state management table stored in the image state management DB 5007 (FIG. 19) using the delay time of 600 ms as a search key to extract the image state information “INTERRUPT”. Based on the extracted image state information “INTERRUPT”, the image state determiner 58 decides to interrupt relaying of at least image data via the relay device 30 a.

As the image state information “INTERRUPT” is transmitted to the relay device 30 a that is currently relaying contents data, the relay device 30 a stops relaying at least the image data. More specifically, at S94, the data transmit/receive 31 of the relay device 30 a transmits only sound data, not image data, to the terminal 10 db through the communication network 2 in the contents data session “sed”.

When the image state information that is determined at S87 is “INTERRUPT” as described above, the management system 50 further performs operation of generating a message as illustrated in FIG. 32 in concurrently with S88 and S89. FIG. 32 illustrates a data sequence diagram illustrating operation of generating, transmitting, and displaying a message, performed by the transmission system of FIG. 1, according to an example embodiment of the present invention.

Referring to FIG. 32, at S121, the management system 50 generates a message indicating that image data is not received at the terminal 10 db, as described below referring to FIG. 33. FIG. 33 is a flowchart illustrating operation of generating a message, performed by the management system 50, according to an example embodiment of the present invention.

At S121-1 of FIG. 33, the message generator 61 of the management system 50 searches the terminal management DB 5003 using the IP address of the terminal 10 db, which is received at S85, as a search key to obtain the terminal ID of the terminal 10 db.

At S121-2, the message generator 61 searches the session management DB 5005 using the obtained terminal ID “01db” of the terminal 10 db as a search key to obtain the terminal ID “01aa” of the terminal 10 aa, which is communicating with the terminal 10 db in the same session specified by the session ID “se1”.

At S121-3, the message generator 61 searches the terminal management DB 5003 using the terminal ID “01aa” of the terminal 10 aa as a search key to obtain the terminal name of the terminal 10 aa. When extracting the terminal name, any portion of the terminal name may be extracted. For example, “Japan Tokyo Office AA Terminal”, “Tokyo Office AA Terminal”, or “AA Terminal” may be extracted from the terminal name.

At S121-4, the message generator 61 combines a message indicating that “IMAGE NOT RECEIVED” with the extracted terminal name “TERMINAL AA” to generate a message “IMAGE NOT RECEIVED FROM TERMINAL AA”. In alternative to generating the message “IMAGE NOT RECEIVED”, the message generator 61 may generate a message “ONLY SOUND IS RECEIVED” to indicate that only the sound data is received.

In alternative to generating the message in the form of text data, the message may be generated in the form of image data such as an icon. In such case, image data such as an icon that reflects a specific message may be previously stored in the memory 5000. The message generator 61 may read out image data such as the icon from the memory 5000 to generate a message using the icon, and sends the generated message data to the terminal 10 db. Alternatively, the image data such as the icon may be previously stored in the memory 1000 of the terminal 10 db. According to information received from the management system 50 that requests for displaying the icon reflecting that the image data is not displayed, the terminal 10 db may read out the image data such as the icon from the memory 1000 for display on the display 120 db.

Further, while the above-described example assumes that relaying of the image data transmitted from the terminal 10 aa is stopped as delay is detected, if relaying of the image data transmitted from the terminal 10 ca is stopped as delay is detected, the management system 50 may generate message data indicating that image data transmitted from the terminal 10 ca is not received in a substantially similar manner as described above referring to FIG. 33.

Referring back to FIG. 32, at S122, the data transmit/receive 51 of the management system 50 transmits the message data that is generated at S121 and the terminal ID “01aa” of the terminal 10 aa the sends image data in which the delay is detected, to the terminal 10 db through the communication network 2. The data transmit/receive 11 of the terminal 10 db receives the message data and the terminal ID of the terminal 10 aa.

At S123, the display control 17 of the terminal 10 db causes the display 120 db to display the message, which is received at the data transmit/receive 11 of the terminal 10 db. In this example, the message data is generated as text data, which is small in data size compared with image data or sound data, such that the message data can be relayed through the communication network 2 even in the narrow band.

Referring now to FIGS. 34 and 35, operation performed at S123 is explained in detail. FIG. 34 is a flowchart illustrating operation of displaying a message based on message data received from the management system 50, performed by the terminal 10 db, according to an example embodiment of the present invention. FIG. 35 illustrates an example screen displayed on the display 120 db, which includes the message generated based on the message data.

At S123-1, the data transmit/receive 11 of the terminal 10 db constantly monitors the network to determine whether message data and a terminal ID are received at the data transmit/receive 11. When it is determined that the message data is not received (“NO” at S123-1), the operation repeats S123-1. When it is determined that the data transmit/receive 11 receives the message data and the terminal ID (“YES” at S123-1), the operation proceeds to S123-2. In this example, it is assumed that the message data and the terminal ID “01aa” of the terminal 10 aa are received.

At S123-2, the extractor 20 of the terminal 10 db searches the image data management table of FIG. 8 using the received terminal ID as a search key to extract the screen number that is associated with the terminal ID. In this example, it is assumed that the screen number “1” is associated with the terminal ID “01aa”.

At S123-3, the display control 17 displays a message based on the received message data on the display 120 db. Assuming that the display 120 db displays an image in the main screen P1 as illustrated in FIG. 28, the display control 17 causes the display 120 db to display the message in the main screen P1 as illustrated in FIG. 35. More specifically, assuming that the image data received from the terminal 10 aa is displayed in the main screen P1 of the display 120 db at the terminal 10 db, and when the delay in receiving the image data from the terminal 10 aa is detected at the terminal 10 db for about 600 ms, the image state changer 35 of the relay device 30 a interrupts relaying of image data received from the terminal 10 aa to the terminal 10 db. As relaying is stopped, the image data that is otherwise transmitted at S83 or S94 of FIG. 27 is not transmitted to the terminal 10 db. In such case, as illustrated in FIG. 35, the terminal 10 db displays the message in the main screen P1, which is identified using the terminal ID received at S122 of FIG. 32, based on the message data received at S122 of FIG. 32.

Referring now to FIGS. 36 and 37, the other examples of displaying the message in the screen of the display 120 db are explained FIG. 36 illustrates an example screen being displayed on the display 120 db, when delay is detected while the terminal 10 aa, the terminal 10 db, and the terminal 10 ca are having videoconference. FIG. 37 illustrates an example screen being displayed on the display 120 db, when delay is detected while the terminals 10 including the terminals 10 aa, 10 db, 10 ca, and 10 cc are having videoconference.

FIG. 36 illustrates the example case in which the management system 50 determines to interrupt transmission of image data transmitted from the terminal 10 aa to the terminal 10 db, as the delay time of 600 ms is detected at the terminal 10 db. In such case, the display control 17 of the terminal 10 db displays a message based on the message data received from the management system 50 at S122 of FIG. 32, in the sub-screen P3 where the image data transmitted from the terminal 10 ca is previously displayed. More specifically, referring back to S123-1 of FIG. 34, the terminal 10 db determines that the data transmit/receive 11 receives the message data and the terminal ID “01aa” of the terminal 10 aa.

At S123-2, the extractor 20 of the terminal 10 db searches the image data management table of FIG. 8 using the received terminal ID as a search key to extract the screen number “1” that is associated with the terminal ID “01aa”.

In a substantially similar manner as described above referring to S102 of FIG. 29, the changer 22 changes the contents stored in the image data management table of FIG. 8 such that the screen number “1” is associated with the terminal ID of the terminal 10 other than the terminal 10 aa, that is, the terminal ID “01ca” of the terminal 10 ca as illustrated in FIG. 30. The screen number “3” is associated with the terminal ID “01aa” of the terminal 10 aa.

At S123-3, the display control 17 of the terminal 10 db displays the message based on the received message data on the sub-screen P3, as illustrated in FIG. 36. The display control 17 of the terminal 10 db further displays the image based on the image data received from the terminal 10 ca on the main screen P1. The image of the terminal 10 db continues to be displayed on the sub-screen P2.

In this manner, before displaying the message based on the message data, the terminal 10 db may switch between the image screen in which the image data transmitted from the terminal 10 aa is currently displayed, and the image screen in which the image data transmitted from the other terminal 10 ca is currently displayed.

For example, when it is determined that the image screen that is associated with the terminal ID of the terminal 10 aa in which the delay is detected corresponds to the main screen P1, the terminal 10 db may switch the screen.

The screen of FIG. 37 is displayed when videoconference is carried out among more than eight sites, i.e., more than eight terminals 10. Further, it is assumed that the participating terminals 10 include the terminal 10 aa, the terminal 10 db, the terminal 10 ca, the terminal 10 cc, and five other terminals 10.

More specifically, in this example illustrated in FIG. 37, the image data transmitted from the terminal 10 aa, which is to be displayed in the main screen P1 as illustrated in FIG. 28, is delayed in about 600 ms. Further, it is assumed that the delay information transmitted from each one of the other terminals 10 through a contents data session for each of the terminal 10 indicates that the delay time is less than 500 ms, such that interruption is not required. In such case, the display control 17 of the terminal 10 db displays image data received from the terminal 10, which is otherwise not displayed in the screen P0, in the main screen P1 in replace of the image of the terminal 10 aa. Further, the message display screen P10 displays therein the message indicating that the image data is not received from the terminal 10 aa, based on the message data received from the management system 50.

Referring back to FIG. 34, at S123-1, the terminal 10 db determines that the data transmit/receive 11 receives the message data and the terminal ID “01aa” of the terminal 10 aa.

At S123-2, the extractor 20 of the terminal 10 db searches the image data management table of FIG. 8 using the received terminal ID as a search key to extract the screen number “1” that is associated with the terminal ID “01aa”. In this example, it is assumed that all of the image screen numbers are associated with the terminal IDs of the terminals 10 that are currently participating, other than the terminal 10 cc. Further, the virtual image screen number, for example, “R1” is associated with the terminal ID of the terminal 10 cc.

In a substantially similar manner as described above referring to S102 of FIG. 29, the changer 22 changes the contents stored in the image data management table of FIG. 8 such that the screen number “1” is now associated with the terminal ID of the terminal 10 other than the terminal 10 aa, that is, the terminal ID “01cc” of the terminal 10 cc. The virtual screen number “R1” is associated with the terminal ID “01aa” of the terminal 10 aa.

At S123-3, the display control 17 of the terminal 10 db displays the message based on the received message data on the message display area P10, as illustrated in FIG. 37. The display control 17 of the terminal 10 db further displays the image based on the image data received from the terminal 10 cc on the main screen P1.

In this manner, before displaying the message based on the message data, the terminal 10 db may switch between the image screen in which the image data transmitted from the terminal 10 aa is currently displayed, and the virtual image screen associated with the image data transmitted from the other terminal 10 cc.

In the above-described example, it is assumed that the image data currently displayed in the main screen P1 is not received as relaying is stopped, and that the main screen P1 is now associated with the image data of the terminal 10 cc that is not otherwise displayed, to display the image data of the terminal 10 cc in the main screen P1. In case the image data currently displayed in any one of the sub-screens is not received as relaying is stopped, the sub-screen may be associated with the image data of the terminal 10 cc that is not otherwise displayed, to display the image data of the terminal 10 cc in the sub-screen. In such case, the message data indicating that the image data is not received is displayed in the message display area P10.

As described above, in one example, when the relay device 30 stops relaying at least image data transmitted from the counterpart terminal 10 to the terminal 10, the management system 50 generates and sends message data indicating that image data is not received or only sound data is received, to the terminal 10 that has been receiving the image data from the counterpart terminal 10 via the relay device 30. The message data may be sent together with the terminal ID of the counterpart terminal 10. Based on the message data and the terminal ID received from the management system 50, the terminal 10 displays a message based on the message data in a section of the display 120 that is previously associated with the received terminal ID. With this message, a user at the terminal 10 knows that videoconference is not interrupted, but image data is not received from the counterpart terminal 10 due to delay in data transmission. The user at the terminal 10 is able to continue videoconference, for example, by responding to the user at the counterpart terminal 10.

The management system 50 generates a message so as to include a name of the counterpart terminal 10 that transmits the image data. With information indicating the terminal name of the counterpart terminal 10, the user at the terminal 10 is able to know that, from which terminal the image data is not received, especially when videoconference takes place among three or more terminals 10.

Further, when displaying the message at the terminal 10, the terminal 10 may change a section that is supposed to display the message regarding the counterpart terminal 10 in replace of the image data that has been previously received from the counterpart terminal 10, such that the message is displayed in the other section.

For example, when the terminal 10 determines that the message is to be displayed in a main display section having relatively a large screen size, the terminal 10 may display the message in a section other than the main display section, by changing the association that associates between a section and a terminal that sends image data for display on the section.

The relay device 30, the management system 50, the program providing system 90, and the maintenance system 100 may be each implemented by a single computer. Alternatively, any number of parts, functions, or modules of the relay device 30, the management system 50, the program providing system 90, and the maintenance system 100 may be classified into a desired number of groups to be carried out by a plurality of computers. In case the program providing system 90 is implemented by the single computer, the program to be provided by the program providing system 90 may be transmitted, one module by one module, after dividing into a plurality of modules, or may be transmitted at once. In case the program providing system 90 is implemented as a plurality of computers, each computer may transmit each module that is stored in its memory, after the program is divided into a plurality of modules.

A recording medium storing any one of the terminal control program, relay control program, and transmission management program, or a storage device such as the HDD 204 that stores any one of the terminal control program, relay control program, and transmission management program, or the program providing system 90 provided with the HD 204 storing any one of the terminal control program, relay control program, and transmission management program, may be distributed within the country or to another country as a computer program product.

In the above-described examples, the quality of image data to be processed by the relay device 30, which is determined based on information obtainable from any one of the image state change management table of FIG. 11 and the image state management table of FIG. 19, is analyzed in terms of image resolution. Alternatively, any other criteria may be used to analyze quality of image data including, for example, depth of image, sampling frequency in case of sound data, and bit length in case of sound data. Further, the sound data may be transmitted or received in three items of sound data including high-resolution sound data, medium-resolution sound data, and low-resolution sound data.

Further, the date and time information stored in the relay device management table of FIG. 12 or the terminal management table of FIG. 14, or the delay information stored in the session management table of FIG. 16, is expressed in terms of date and time. Alternatively, the date and time information or the delay information may be expressed only in terms of time such as the time at which information is received.

Further, in the above-described examples, the relay device IP address of the relay device 30 and the terminal IP address of the terminal 10 are respectively managed using the relay device management table of FIG. 12 and the terminal management table of FIG. 14. Alternatively, the relay device 30 and the terminal 10 may each be managed using any other identification information or using any other tables. For example, when the relay device 30 or the terminal 10 needs to be identified on the communication network 2, the relay device 30 or the terminal 10 may be managed using Fully Qualified Domain Name (FQDN). In such case, the transmission system 10 is provided with a domain name system (DNS) server that obtains the IP address that corresponds to the FQDN of the relay device 30 or the terminal 10. In view of this, identification information for identifying the relay device 30 on the communication network 2 may not only include the identification information that identifies the relay device 30 on the communication network 2, but also identification information that identifies a node on the communication network 2 to which the relay device 30 is connected, or identification information that identifies a node on the communication network 2 from which the relay device 30 is connected. Similarly, identification information for identifying the terminal 10 on the communication network 2 may not only include the identification information that identifies the terminal 10 on the communication network 2, but also identification information that identifies a node on the communication network 2 to which the terminal 10 is connected, or identification information that identifies a node on the communication network 2 from which the terminal 10 is connected.

In the above-described examples, the transmission system 1 of FIG. 1 is treated as a videoconference system. Alternatively, the transmission system 1 of FIG. 1 may be implemented as a teleconference system such as the IP teleconference system or the Internet teleconference system. Alternatively, the transmission system 1 of FIG. 1 may be implemented as a car navigation system. For example, the request terminal 10 may be implemented as a car navigation system that is installed onto an automobile. The counterpart terminal 10 may be implemented as a management terminal or server at a management center that manages the car navigation system or a car navigation system that is installed onto another automobile.

In another example, the transmission system 1 of FIG. 1 may be implemented as a communication system having a portable phone. In such case, the terminal 10 is implemented as the portable phone. The terminal 10, or the portable phone 10, includes a body, a menu screen display button, a display section, a microphone provided at a lower portion of the body, and a speaker provided at an upper portion of the body. When selected, the menu screen display button causes the display section to display a menu screen in which various icons each indicating a specific application program are displayed. In this example, the display section displays a candidate terminal list that lists a plurality of terminal names together with a plurality of icons each reflecting the operation state of each candidate terminal. Since the terminal 10 in this example is implemented as a portable phone, the name of a user who owns the specific terminal, or a nickname of the user, is displayed as the terminal name. The display section is a touch panel screen, which allows the user to select one of the plurality of terminal names being displayed by the display section. When a specific terminal name, or a user name, is selected, the portable phone starts communication with the specific terminal that is selected in a substantially similar manner as described above.

In the above-described examples, the contents data is assumed to include image data and sound data. Alternatively, the contents data may include any other type of data that affects human senses of sight in alternative to image data, or any other type of data that affects human senses of hearing in alternative to sound data. Alternatively, the contents data may include any other type of data that affects human senses of sight, smell, taste, touch, and hearing. In case the contents data that affects human senses of touch, the terminal 10 may convey the contents data that reflects senses of touch that is felt by a user at the terminal 10 to another terminal 10 through the communication network 2. In case the contents data that affects human senses of smell, the terminal 10 may convey the contents data that affects senses of smell felt by a user at the terminal 10 to another terminal 10 through the communication network 2. In case the contents data that affects human senses of taste, the terminal 10 may convey the contents data that affects senses of taste felt by a user at the terminal 10 to another terminal 10 through the communication network 2.

Further, the contents data may only include one type of contents data selected from sight data such as image data, hearing data such as sound data, touch data, smell data, and taste data.

Further, in the above-described examples, the transmissions system 1 is implemented as a videoconference system for use at offices. Other examples of use of the transmission system 1 include, but not limited to, meetings, casual conversation among family members or friends, and distribution of information in one direction.

Numerous additional modifications and variations are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure of the present invention may be practiced otherwise than as specifically described herein.

With some embodiments of the present invention having thus been described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the present invention, and all such modifications are intended to be included within the scope of the present invention.

For example, elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the scope of this disclosure and appended claims.

Further, any of the above-described devices or units can be implemented as a hardware apparatus, such as a special-purpose circuit or device, or as a hardware/software combination, such as a processor executing a software program.

Further, as described above, any one of the above-described and other methods of the present invention may be embodied in the form of a computer program stored in any kind of storage medium. Examples of storage mediums include, but are not limited to, flexible disk, hard disk, optical discs, magneto-optical discs, magnetic tapes, nonvolatile memory cards, ROM (read-only-memory), etc.

Alternatively, any one of the above-described and other methods of the present invention may be implemented by ASIC, prepared by interconnecting an appropriate network of conventional component circuits or by a combination thereof with one or more conventional general purpose microprocessors and/or signal processors programmed accordingly.

The present invention can be implemented in any convenient form, for example using dedicated hardware, or a mixture of dedicated hardware and software. The present invention may be implemented as computer software implemented by one or more networked processing apparatuses. The network can comprise any conventional terrestrial or wireless communications network, such as the Internet. The processing apparatuses can compromise any suitably programmed apparatuses such as a general purpose computer, personal digital assistant, mobile telephone (such as a WAP or 3G-compliant phone) and so on. Since the present invention can be implemented as software, each and every aspect of the present invention thus encompasses computer software implementable on a programmable device. The computer software can be provided to the programmable device using any storage medium for storing processor readable code such as a floppy disk, hard disk, CD ROM, magnetic tape device or solid state memory device.

The hardware platform includes any desired kind of hardware resources including, for example, a central processing unit (CPU), a random access memory (RAM), and a hard disk drive (HDD). The CPU may be implemented by any desired kind of any desired number of processor. The RAM may be implemented by any desired kind of volatile or non-volatile memory. The HDD may be implemented by any desired kind of non-volatile memory capable of storing a large amount of data. The hardware resources may additionally include an input device, an output device, or a network device, depending on the type of the apparatus. Alternatively, the HDD may be provided outside of the apparatus as long as the HDD is accessible. In this example, the CPU, such as a cache memory of the CPU, and the RAM may function as a physical memory or a primary memory of the apparatus, while the HDD may function as a secondary memory of the apparatus.

In one example, the present invention may reside in a transmission terminal that communicates with a relay device that relays image data to be transmitted or received among a plurality of transmission terminals, and that communicates with a transmission management system that manages the plurality of transmission terminals. The transmission terminal establishes communication with at least one counterpart transmission terminal. The transmission terminal includes: receiving means for receiving image data transmitted from the counterpart transmission terminal through the relay device; and the display control means for displaying the received image data on displaying means. The receiving means receives message data transmitted from the transmission management system in replace of the image data that is transmitted from the counterpart transmission terminal via the relay device. The display control means displays a message based on the message data in replace of an image based on the image data, on the displaying means.

For example, the receiving means corresponds to the data transmit/receive 11 of the transmission terminal 10. The display control means corresponds to the display control 17 of the transmission terminal 10. The displaying means corresponds to the display 120 of the terminal 10.

In another example, the display control means displays a plurality of images based on image data that are respectively transmitted from a plurality of counterpart transmission terminals, on a plurality of display sections of the displaying means.

In another example, the transmission terminal further includes: image data managing means for managing display section identification information for identifying each one of the plurality of display sections, in association with terminal identification information for identifying a transmission terminal that transmits the image data of the image to be displayed on each one of the plurality of display sections. When the receiving means receives the identification information for identifying the transmission terminal that transmits the message data, together with the message data, extracting means of the transmission terminal searches the image data managing means based on the received identification information of the transmission terminal to extract display section identification information associated with the received identification information. The display control means displays the message based on the received message data in a display section identified by the extracted display section identification information.

For example, the image data managing means corresponds to the image data management DB 1001 such as the image data management table of FIG. 8. The extracting means corresponds to the extractor 20 of the transmission terminal 10.

In one example, the image data managing means further manages virtual section identification information for identifying each one of one or more virtual sections that are not displayed on the displaying means, in association with identification information for identifying the transmission terminal that sends the image data of the image to be associated with the virtual section. When the receiving means receives terminal identification information for identifying the counterpart transmission terminal that transmits the message data, the extractor extracts virtual section identification information associated with the received terminal identification information. The display control means displays the message based on the message data on a section other than the display sections.

In another example, the message indicates that image data transmitted from the counterpart transmission terminal is not received.

In another example, the relay device relays sound data in addition to the image data. In such case, the message indicates that only sound data transmitted from the counterpart transmission terminal is received.

In another example, the transmission terminal further includes sound analyzing means for detecting a range of sounds of a plurality of items of sound data respectively received from the plurality of transmission terminals at the receiving means and determining whether any sound data includes a predetermined range of sounds; and changing means for changing information stored in the image data managing means when the sound analyzing means determines that the sound data includes the predetermined range of sounds. The changing means associates identification information for identifying a transmission terminal, which is transmitted with the sound data including the predetermined range of sounds, with display section identification information for identifying a predetermined display section. The display control means displays the plurality of images on the respective display sections on the displaying means, based on the information of the image data managing means after being changed.

For example, the sound analyzing means corresponds to the sound analyzer 21 of the transmission terminal 10. The changing means corresponds to the changer 22 of the transmission terminal 10.

In another example, the predetermined display section corresponds to an image screen having a largest display area on the displaying means.

In another example, the present invention may reside in a transmission system including any one of the above-described transmission terminals, the relay device, and the transmission management system. The transmission system allows communication among the plurality of transmission terminals.

In another example, the present invention may reside in a display control method, performed by a transmission terminal that communicates with a relay device that relays image data to be transmitted or received among a plurality of transmission terminals, and that communicates with a transmission management system that manages the plurality of transmission terminals. The transmission terminal establishes communication with a counterpart transmission terminal. The display control method includes the steps of: receiving image data transmitted from the counterpart transmission terminal through the relay device; and displaying the received image data on displaying means. The receiving step includes the step of receiving message data transmitted from the transmission management system in replace of the image data that is not transmitted from the relay device. The display control method includes the step of displaying a message based on the message data in replace of an image based on the image data, on the displaying means.

In one example, the present invention may reside in a recording medium storing a plurality of instructions which, when executed by a processor, cause the processor to perform the display control method.

As described above, one aspect according to one example embodiment of the present invention is to provide a transmission terminal that receives image data from one or more counterpart transmission terminals via a relay device, and displays one or more images based on the received image data on a display. When the transmission terminal receives message data from a management system in alternative to image data to be transmitted from one of the one or more counterpart transmission terminals, the transmission terminal displays a message on the display based on the received message data.

For example, when the transmission terminal communicates with more than one counterpart transmission terminal, the images are displayed on a plurality of display sections on the display based on image data that are respectively received from at least a part of the plurality of counterpart transmission terminals. In one example case, if a number of display sections that can be displayed on the display is equal to or greater than the number of the counterpart transmission terminals, the images of the image data that are respectively transmitted from the counterpart transmission terminals are respectively displayed on the display sections on the display. If the number of display sections that can be displayed on the display is less than the number of the counterpart transmission terminals, the images of the image data that are respectively transmitted from a part of the counterpart transmission terminals are respectively displayed on the display sections on the display.

The displaying of the images may be managed using image data management information. The transmission terminal manages image data management information, which associates, for each one of at least the part of the one or more images, display section identification information for identifying the display section, with terminal identification information for identifying the counterpart transmission terminal that transmits the image data for display on the display section.

In particular, when the message data is received from the management system for one of the one or more counterpart transmission terminals, the transmission terminal decides which display section on the display the message is displayed based on the received message data.

For example, the one of the one or more counterpart transmission terminals may be identified using terminal identification information for identifying the one of the one or more counterpart transmission terminals, received from the management system, such as together with the message data.

The transmission terminal extracts the display section identification information associated with the received terminal identifying information, from the image data management information.

In one example, the transmission terminal displays the message based on the received message data on the display section identified by the extracted display section identification information.

In another example, when the extracted display section identification information indicates a predetermined display section, such as a main display section having a largest display size, the transmission terminal displays the message based on the received message data on a display section other than the predetermined display section. More specifically, the transmission terminal changes the image data management information so as to associate the received terminal identification information with display section identification information for identifying a display section other than the predetermined display section, such as a sub-display section having a smaller display size than that of the predetermined display section. In the predetermined display section, any other image based on the image data transmitted from the counterpart transmission terminal may be displayed.

Assuming that the number of display sections that can be displayed on the display is less than the number of counterpart transmission terminals that are communicating, the display data transmitted from the remaining part of the one or more counterpart transmission terminals may be managed using one or more virtual sections that are not displayed on the display. For example, the image data management information may further associate, for each one of the remaining part of the one or more images, virtual section identification information for identifying a virtual section that is not displayed on the display, with terminal identification information for identifying the counterpart transmission terminal that transmits the image data.

In case the received terminal identification information for identifying the one of the one or more counterpart transmission terminals is associated with the virtual section identification information, the transmission terminal displays the message based on the received message data on a section other than the display sections, such as a message display area, on the display.

In case the received terminal identification information for identifying the one of the one or more counterpart transmission terminals is associated with the display section identification information indicating the predetermined display section, such as the main display section, the transmission terminal displays the message based on the received message data on a section other than the display sections, such as a message display area, on the display, for example, by changing the image data management information. In the predetermined display section, any other image based on the image data transmitted from the counterpart transmission terminal may be displayed.

As described above, even when there are a plurality of images being displayed based on image data received from a plurality of counterpart transmission terminals, the transmission terminal is able to specify the display area for a specific counterpart transmission terminal. Further, in alternative to keeping displaying the message on the predetermined display section having the larger display size, the transmission terminal may switch the display area so that the user would not be bothered by the message. 

What is claimed is:
 1. A transmission terminal, comprising: a network interface configured to receive image data respectively from one or more counterpart transmission terminals via a relay device; and a processor configured to display one or more images based on the image data that are respectively received from the one or more counterpart transmission terminals on a display, wherein, when the network interface receives message data from a management system in alternative to image data to be transmitted from one of the one or more counterpart transmission terminals, the processor displays a message on the display based on the received message data.
 2. The transmission terminal of claim 1, wherein the processor is configured to, display at least a part of the one or more images, respectively, on one or more display sections of the display based on the image data that are respectively received from the at least a part of the one or more counterpart transmission terminals, and manage image data management information, which associates, for each one of the at least a part of the one or more images, display section identification information for identifying the display section, with terminal identification information for identifying the counterpart transmission terminal that transmits the image data for display on the display section.
 3. The transmission terminal of claim 2, wherein the network interface receives terminal identification information for identifying the one of the one or more counterpart transmission terminals from the management system, and the processor is further configured to, extract the display section identification information associated with the received terminal identification information using the image data management information, and display the message based on the received message data on one of the one or more display sections that is selected using the extracted display section identification information.
 4. The transmission terminal of claim 3, wherein the one of the one or more display sections in which the message is displayed is a display section identified by the extracted display section identification information.
 5. The transmission terminal of claim 3, wherein the processor is further configured to, determine whether the extracted display section identification information indicates a predetermined display section on the display, change the image data management information when the extracted display section identification information indicates the predetermined display section, so as to associate the received terminal identification information with display section identification information for identifying one of the one or more display sections other than the predetermined display section, and display the message based on the received message data on one of the one or more display sections other than the predetermined display section, which is identified by the newly associated display section identification information.
 6. The transmission terminal of claim 2, wherein the image data management information further associates, for each one of the remaining part of the one or more images, virtual section identification information for identifying a virtual section that is not displayed on the display, with terminal identification information for identifying the counterpart transmission terminal that transmits the image data, and the processor is further configured to: determine whether the extracted display section identification information indicates a predetermined display section on the display, change the image data management information when the extracted display section identification information indicates the predetermined display section, so as to associate the received terminal identification information with the virtual section identification information for identifying the virtual section that is not displayed, and display the message based on the received message data on a section on the display other than the display sections, which is identified by the newly associated virtual section identification information.
 7. The transmission terminal of claim 6, wherein when the processor extracts the virtual section identification information associated with the received terminal identification information using the image data management information, the processor displays the message based on the received message data on the section on the display other than the display sections, without changing the image data management information.
 8. The transmission terminal of claim 1, wherein the message indicates that the image data transmitted from the one of the one or more counterpart transmission terminals is not received.
 9. The transmission terminal of claim 1, wherein the network interface is further configured to receive sound data in addition to the image data respectively from the one or more counterpart transmission terminals via the relay device, and the message indicates that only sound data is received for the one of the one or more counterpart transmission terminals.
 10. The transmission terminal of claim 9, wherein the processor is further configured to, determine, for each of the sound data, whether the sound data includes a predetermined range of sound signal levels, and change the image data management information when the sound data received from one of the one or more transmission terminals includes the predetermined range of sound signal levels, so as to associate terminal identification information for identifying the one of the one or more transmission terminals that transmits the sound data having the predetermined range of sound signal levels, with display section identification information for identifying a predetermined display section of the one or more display sections.
 11. The transmission terminal of claim 10, wherein the predetermined display section is one of the one or more display sections on the display having a largest display size.
 12. A transmission system, comprising: the transmission terminal of claim 1; and the display coupled to the transmission terminal and configured to display the message based on the received message data under control of the transmission terminal.
 13. The transmission system of claim 12, further comprising: the relay device; and the management system configured to generate and send the message data to the transmission terminal.
 14. A method of controlling display of image data, comprising: receiving image data respectively from one or more counterpart transmission terminals via a relay device; displaying one or more images based on the image data that are respectively received from the one or more counterpart transmission terminals on a display; receiving message data from a management system in alternative to image data to be transmitted from one of the one or more counterpart transmission terminals; and displaying a message on the display based on the received message data.
 15. The display control method of claim 14, further comprising: displaying at least a part of the one or more images, respectively, on one or more display sections of the display based on the image data that are respectively received from the at least a part of the one or more counterpart transmission terminals; and managing image data management information, which associates, for each one of the at least a part of the one or more images, display section identification information for identifying the display section, with terminal identification information for identifying the counterpart transmission terminal that transmits the image data for display on the display section.
 16. The display control method of claim 15, further comprising: receiving terminal identification information for identifying the one of the one or more counterpart transmission terminals from the management system; extracting the display section identification information associated with the received terminal identification information using the image data management information; and displaying the message based on the received message data on one of the one or more display sections that is selected using the extracted display section identification information.
 17. The display control method of claim 16, further comprising: determining whether the extracted display section identification information indicates a predetermined display section on the display, changing the image data management information when the extracted display section identification information indicates the predetermined display section, so as to associate the received terminal identification information with display section identification information for identifying one of the one or more display sections other than the predetermined display section, and displaying the message based on the received message data on one of the one or more display sections other than the predetermined display section, which is identified by the newly associated display section identification information.
 18. The display control method of claim 15, further comprising: managing the image data management information, which further associates, for each one of the remaining part of the one or more images, virtual section identification information for identifying a virtual section that is not displayed on the display, with terminal identification information for identifying the counterpart transmission terminal that transmits the image data; determining whether the extracted display section identification information indicates a predetermined display section on the display, changing the image data management information when the extracted display section identification information indicates the predetermined display section, so as to associate the received terminal identification information with the virtual section identification information for identifying the virtual section that is not displayed, and displaying the message based on the received message data on a section on the display other than the display sections, which is identified by the newly associated virtual section identification information.
 19. A non-transitory recording medium storing a plurality of instructions which, when executed by a processor, cause the processor to perform a display control method comprising: receiving image data respectively from one or more counterpart transmission terminals via a relay device; displaying one or more images based on the image data that are respectively received from the one or more counterpart transmission terminals on a display; receiving message data from a management system in alternative to image data to be transmitted from one of the one or more counterpart transmission terminals; and displaying a message on the display based on the received message data. 